Hi,
I would recommend to use a custom user field instead of a custom address field. Then, you can use a mass action with the trigger after a user is updated a filter on the value of the custom field, and an action "change the user group" in your mass action so that the user group is changed based on the user selection in that field.
Then, you can configure two sets of shipping methods, or two sets of payment methods, one for each user groups with different prices so that the price paid will reflect the user group the user is in.
You can then change again the user group after the order with another mass action on the trigger "after an order is updated" and a filter on the order_status and another one on the user group of the user.