Can I restrict record access based on a field value?

Yes. You can create a custom role that restricts access to accounts, and then create an access group to grant access to members of the group based on field.

To create a custom role, start with How do I edit job or abstract roles?.

To use access groups to assign permissions to certain groups of users, start with How do I create and manage access groups?.