Not entirely clear on your whole setup, but you might explore this path. I assume you have set up a 'full access' privilege set, a 'data entry', and an 'admin' privilege set. (the 'admin' privilege set need not have 'full access' which allows modifying scripts and layouts.)
Manage security> privilege sets click on the 'data entry' for example, then click edit. Then click on 'custom pivileges' and a popup appears, click on the table and click on the view column.
(I know it keeps drilling down and down). The click on set privileges: View and choose 'limited'. Here you can set a calculation that only allows limited viewing. So, use one of the get functions in the calculation, like get account privilege set = data_entry.
Then you would need to mark the records that were accessible by data entry and those accessible by the admin password if those were different record sets. Or set the 'admin' to view all records. Depends on your situation.
Or use get function to get the user's account name, and put that person's account name in each record if you get that detailed.
Probably not exactly what you are after, but you should be able to work out how to do it once you have drilled down the several layers.
I'm gonna give it a go. I may pick your brain further as I work it out.