There are several ways for this to be achieved.
The easiest is to have a text variable (perhaps named branch or office or location) that the user selects the value via dropdown list.
The value of that variable can be used in the plan file as a key to query other address fields and automatically populate the address ADORs via that primary key.
If you have the "A piece of cake" demo store installed on your server you can look at the Business card (staff drop-down) as an example of this.
From memory, I think that sample uses hard coded addresses in the plan file, but the plan can call the data from another datasource instead.
Other methods include:
* Dependent dropdowns (I don't think this option works well since the user must select the address sub-dropdowns or you have to use multi-page mode and custom javascript)
* Using a dropdown again to select the branch, and SQL datasource prepopulation dial setup for the other address fields. (Not nice since it requries complex sql to select based on the other dropdown dial selected value and also the sql would be called only once when the address fields are empty, so if the user selects the wrong option in the drop-down, the sql fields would be populated with the wrong address, and changing the dropdown would not change the address fields because they already contain a value.)
* Creating a custom HTML Generic dial that calls a web serivce URL that provides the address details. (There is some security risk here because the web service url is accessed from the client browser (whereever the user is accessing uStore from), but assuming that the requirement is for business office addresses, I think the option is OK, but don't use it for private customer addresses.)
* Custom WSAPI DUCs (which are on the way out as uStore moves towards more React JS) allow access server-side to internal databases, but this also requires multi-page mode and of course, uStore API license and a higher skill level.