The site contains 2 user types besides admin, lets call the 2 user types "Private" and "Corporate".
Private users have a "profile 2" type, where alot of different fields are filled.
In a view or likewise, "Corporate" users need the ability to search for users, and when they go to a users profile, ONLY a few fields should be visible - rest hidden.
Then when (Corporate user) viewing the (Private users) profile, they need a "button" or likewhise where they can ask for permission to view full profile.
Now the private user should recieve a mail that states a "Corporate user xxx" want to see their full profile. ONLY when the "Private" have accepted this, all fields should be visible, BUT ONLY to this ONE specific user of the "Corporate" role - not all other users with the "Corporate" role.
What modules can make this node/user access work?