Hi,
If the customers can't create any user account (because their account is already created with that address), you could just hide/remove the interface elements (with simple CSS or some view overrides) allowing them to change his addresses / add new ones / delete addresses.
So they would always have that address.
Regarding the registration form, you could set default values in the custom fields and disable the countries/states you don't want in the dropdowns so that the customers wouldn't be able to enter anything in the custom address fields and that way, even if you allow them to create new accounts, they would get an address they wouldn't be able to change.
So it looks like possible to me without much problems.