How does google determine whether a link is reciprocal or one way, do they have this inbuilt in their algorithm. Consider this scenario... A link is placed somewhere on xyz.com/a.html for a site abc.com, when googlebot finds that link does it reads all pages of abc.com to find if a reciprocal link is placed back to xyz.com and only then provide a suitable weightage for the link. What is the method, how would google be doing this? Any pointers would be appreciated.
Only G knows how they do this - if they even do. Since they will hold a list of links to a site in a database of some kind, it's simplicity in itself to check if there is a link from abc->xyz and from xyz->abc. Whether they actually do check is another matter entirely.
General opinion about reciprocal link is that they are less beneficial then one way link, if that is the case then google must be having a way to differentiate between those links. There could be some ways through which google might do this, like it might give less importance to link on a page with link exchange/reciprocal link etc. in title, description, H1 headings, filenames. Like this there could be other methods too..
Google build a 'map' of the web with regard links, this is the very heart of their page rank algorithm. They know exactly from their cached pages who links to who, and their algo can then do with that data whatever tyhey want