While idioms like this never can be quite fully explaining in terms of strict grammar, the idiom still more-or-less makes sense, in the idea of casting one's gaze at a face - a kind of movement towards the face. It's not simply location (which would require prepositional case), and also the face is the location of an activity - the gazing upon of it.
No. That would be more like being able to remember the details of someone's face. "A memory for faces" means being able to recall who someone is after having met them only briefly. Your actual memory of what their face looks like might not be very good, but you remember who they are when you see them or a picture of them.
"a memory for faces" is an English idiom, meaning a specialized ability to remember who people are after only briefly meeting them. A bad memory for faces means that, when you see someone you've met before, you don't recall who they are simply by seeing them or a picture of them.
With мне and forms of весь you use обо. Everywhere else, о/об are used pretty much the same as the English "a"/"an":
- о книге = about a book
- о кошке = about a cat
- о ёжиках = about hedgehogs
- об этом ёжике = about this hedgehog
- об алой кошке = about the scarlet cat
- обо мне = about me
- обо всех кошках = about all cats
- обо всём = about everything
- обо всей галактике = about the entire galaxy
- о вторнике = about Tuesday
- о мнениях других людей = about other people's opinions