We currently have the work email displaying on the MySites page - is there a way to hide this for a group of people?
We have a group of doctors who do not want their email shared.
If your site has jQuery a simple solution without changing your setup would be:
$('div#ProfileViewer_ValueEmail').remove();
You can add this to person.aspx on page load.
I have not customized a MySite page so this is just a shot in the dark, but why not add another property to the UserProfile called something like "HideEmailAddress" and set it to True for your group of doctors. You could then modify the XSL on the mysite page to not display the email address if this property is true.
This is better... SharePoint 2010:
First we want to go into Central Administration –> Application Management –> Manage Service Applications –> Select your User Profile Service Application and then click manage in the ribbon. Under People select manage user properties. Then scroll down and find the Status Message property, pull the drop down and select edit. In the edit property screen this is where we will change the settings to not show or allow editing as seen in the screenshot below.
The setting you are looking for is.
Show in the profile properties section of the user's profile page
UPDATE:
This article has screen shots explaining how to do the above but in SharePoint 2013: http://www.sharepoint2013.me/Blog/Post/224/SharePoint-2013-user-profiles-%E2%80%93-Add-custom-properties