An image of your relationship graph would be helpful. Just listing the tables does not show how they are linked in relationships and that's likely to be the key detail needed here.
It's a little messy, but I hope this is helpful. I've positioned those tables we don't strike me as relevant to this problem towards the bottom of the graph. In any case, thanks very much for any help.
I gather that you want to reference an address from the context of a record in Contract?
The only paths that connect to person (and then to address via a join table) that I could spot do so via some of those table occurrences that you moved to the bottom as not relevant: your book agent and book editor join tables.
Even if that path worked, it would seem unlikely that you may have trouble accessing the correct address due to the many to many relationship between Person and Address. (but maybe you can use a filtered portal).