This already exists (at least for USA), in the Address field, under the field properties there's an option that says "restrict to US State selection". There is no equivalent comment for any other country, such as Canada. Currently you select the country and then type in the province or state.
I suppose you could adapt that concept to other countries, but it would be using Conditional Logic - Show/Hide Fields. Not as smooth as the way the Address field can currently be set to do it, but it's a step forward.