re: Does this mean that it will no be backwards compatible with past entries?
Yes, but only when you edit. Any existing entries will continue to show what was entered. Any new entries or entries updated would show the state abbr. The abbr is what is actually save to the DB.
The array returned from
So, you could
array_flip( cnGEO::US_Regions() ). That would meet your requirements, I believe. Just when editing an entry you would see a select list with the state abbr instead of the full name but the inverse would be that the full state name would be displayed and saved to the DB and would work with search too.
I do have a dev I can recommend. The only issue I can see with doing this might be forward compatibility with Connections … meaning updates to Connections could break your customization.