I can help you with how results show up in Similar People.
Let's set up a time to chat in more detail.
The similar people widget in the sidebar uses the values stored in the profile fields stored for each user. Basically what happens is that we loop over every profile field for each user (when creating the search index), extract the value of the profile field (ie: the value of the address field), combine all the values together and then store that combined string in the search index. Given those values, we then use (and forgive me if this is too technical) the MoreLikeThis class (which is a part of the Lucene search framework that we use) to extract users whose profile fields are similar to the ones the current user has.
If you're interested in the technical details behind the MoreLikeThis class I wrote that up on my blog last year: