Approach for doing Entity Relationships
Just general ideas, not a solution...

I would check out the entity reference module (https://drupal.org/project/entityreference) as a starting point, to get an idea of how it works, so you can plan your project with this in mind. Entity reference makes it easy to link one entity to another, then build views to generate lists of related items. Entity views attachment (EVA, https://drupal.org/project/eva) can help you attach views of related items to entities. (i.e. you could display a list of letters as a view attached to a person)

You may also want to check out the addressfield module (https://drupal.org/project/addressfield) especially if you have international addresses to work with. It's a little tweaky, since it handles the entire address as a single field, but it saves you the trouble of implementing several fields to catpture each address. 

From your description, it seems like you would want at least these content types: letter, person, address (or place). But it's hard to say for sure without knowing your complete vision.