Quick response as I head to bed on only two points (will have to think more about it all). Instead of user_addresses, I'd look for either customer_addresses or even just addresses. It may be best to just call it uc_addresses and don't force it to be connected to a user account so you can also store shipping and store addresses from other modules.
Also, I think I'd call the "save as" column "label" instead... that way you can ask them to specify a label which makes a little more logical sense.
Other than that, I think this is a good step in the right direction and am happy to have some other brain power helping me out. 



Joined: 08/07/2007