It can definitely be better though, I would like that everyone is simply known by what they appear to be, until you ask them about themselves or is introduced to them, and after that, they are simply called by their name.
If you only know that person lives is in a certain region the arrow will point you into that region but nothing more.
If you know the town the arrow will point to that town but you still gotta look around and ask around.
If you know the street (IF they add street names) or village in that towns area the arrow will only point you to the street/village, still gotta find the house.
If you know the house it will point you to the house, this is pretty much the narrowest it will point you to a person... unless
You ask around and find out where that person usually goes to or works, this will add markers to those locations as well. If you know WHEN that person usually is there they will be highlighted at those times (the other markers are still there but faded out) but there's no guarantee the person will be there, those are jsut the times the person would normally be there.
AND if you know what that person looks like from a description to talking to him/her before the marker WILL point directly to that person IF you can see him/her directly (is in your line of sight and nothing obscuring him).
That way it realistically points out locations and slowly narrows down what your character knows. This really wouldn't be a problem as it goes by information and, honestly, if you EXACTLY know where something is why shouldn't it be able to point it out?
Plus i think this system is not complicated at all, it just needs more pointer locations and some of them can even be created on the fly if there are location infos the game can generate something on.
This sounds like a perfect system to replace Oblivions quest arrow. I can definitely stand behind this Idea.