Is it possible to control access to a specific content according to that item's metadata, for example if there is a metadata field called "admin", is it possible to show that item only to the admin user depending on the admin metadata field's value ?
Are there any other approaches possible in the context of metadata security ?
Yes, a dynamic authority is what you want. You will have to write some Java code for this and wire it up in the config. See the config and code for the "owner" dynamic authority for an example.