If you would be the user who uses the form.
Which one of two possibilities you would prefere?
Which one is more user-friendly out of your point of view?
It’s your descision, which one you want to use.
If it would be me - → i would prefere the easy to use DropDown.
2-clicks (one to open the dropdownlist and second to select what i need)
instead of typing in some adress.
And yes, i would separate STATES and all the related CITIES into 2 different DB-Fields.
For example:
--------DB-FIELD-STATES ------------------------DB-FIELD-CITIES--------------
---------------STATE-1--------------- ---------------CITY-1, CITY-2, CITY-11---------------
---------------STATE-2--------------- ---------------CITY-6, CITY-5, CITY-9---------------
---------------STATE-3--------------- ---------------CITY-2, CITY-3, CITY-4---------------
---------------STATE-4--------------- ---------------CITY-7, CITY8, CITY10---------------
-----------STRING-FIELD--------- -------------------------TAG-FIELD---------------------
But you can structure your DATABASE also in another way, for example using 2x STRING-FIELDS.
The most important is always the structure of your database, because all data comes from DATABASE.