H, if you just one to make that from Addresses purpose since CRM city, state, and country are not lookup from Master, they are free text.
Better, you do like that :
1. Create entity : City, State, Country
2. Create Lookup field from Address to City, State, and Country
3. Only show those 3 fields in the form, hide the existing CRM fields : address1_city, address1_stateorprovince, address1_country
4. Create a workflow to auto populate from the Lookup field (Address1_countrylookup) to the CRM Standard field (Address1_Country) after the Account created or updated, then update the Account field standard fields by the Lookup field.
5. Let the user to type and choose the Country from the Master and save it.
6. Workflow will be triggered and your address1_country will be populated by the selected Master, so your Address1_country is hidden but validated by the selected Master.
I suggest different way since you cannot auti populate text field to lookup, but you can do the opposite, you can autopopulate text field by lookup label name (remember my previous post)
"You can auto populate from Lookup field to Text field.
You can copy over auto populate the Country (Lookup) to Address1_Country field (Text).
But, you cannot populate from Text field to Lookup field.
So means that you cannot copy back from Address1_Country (Text) to Country (Lookup)
Because the lookup field is a special field that has Guid (Entity Reference related to another entity) and Name, and also the Lookup Type (the related primary entity name)."
I think it is a better way.
Hope it helps!