You could create a view and in the view definition, you modify the values in the select list based on the current user. Then revoke all privileges on the base table so that all access has to go through the view.
Code:
CREATE VIEW ...
SELECT ..., CASE WHEN checkUserAllowed(USER) = 1 THEN fname ELSE scramble(fname)
FROM ...
You'll have to define the functions checkUserAllowed() and scramble() in whichever way you like.