Permission to see hidden fields
I think you can accomplish this with the field permissions module. You can then specify that users without permission cannot view the field. 

Secondly, create a new user role for the people who can see the field. When a user makes a request to see the field, you can set the field permission to view the field by assigning the new role to that user.