Not exactly the way I would build by relationships...
In Contacts, I would have calc fields to represent each address type, then have relationships from the Contacts to the Address TOC's using two criteria, the Contact ID and the Type. The "type" can be in the Address table via a portal/relationship in Contacts based on just Contact ID, just use a drop down list in the portal to set the address type field.
The value list you want should then be very easy to setup, just use the relationship from Contact to address (using Contact ID) and viola, your list should show.
Each other TOC (based on Contact ID and "type") could be used from Contacts to obtain the type of address you want, at any time.
I hope this helps.