You can do this based on their AccountName. You can write a script for the fields that are not editable. (E.g. if [ Get (AccountName) = "UserName"] [GoTo NextField].
Another way could be to set up another layout for these users, and disable "browsing" in the inspector for the non editable fields.
But, if the non editable fields are a different table, you can also use privilege sets in security. But that depends on the structure of your database.