You can hide the country by checking the "Hide the country when only one is available" box in the field settings for your address field. Then you can add the following code to custom module to hide the Address1, Address2, and ZIP (where "MYMODULE" is the name of your custom module, "MYPROFILETYPE" is the machine name of the profile type you are altering, and MYFIELD is the name of your address field):
/**
* Implementation of hook_form_profile2_edit_PROFILE_NAME_form_alter()
*/
function MYMODULE_form_profile2_edit_MYPROFILETYPE_form_alter(&$form, &$form_state){
//dsm($form['profile_MYPROFILETYPE']['field_MYFIELD']['und'][0]);
hide($form['profile_MYPROFILETYPE']['field_MYFIELD']['und'][0]['street_block']['thoroughfare']);
hide($form['profile_MYPROFILETYPE']['field_MYFIELD']['und'][0]['street_block']['premise']);
hide($form['profile_MYPROFILETYPE']['field_MYFIELD']['und'][0]['locality_block']['postal_code']);
}