Note: someone else with better inf. may speak up. What's below is my just my "knowledgeable user's" take on your question.
The location field you've been filling out on import is most like the one that is in the "Image" section of the IPTC core. It's just a text field (it has no "smart" data). That text field has (afaik) no bearing at all on how Aperture's Places feature works.
Places works with the Image-level metadata fields "Latitude" and "Longitude". It adds an additional layer to that, which allows you to specify an Aperture-only name to an area that encompasses the lat/long of any Image.
You can assign Places by Project (via the Project Info pane ("View→Window→Show Project Info"), or to all selected Images via "Metadata→Assign Location".
You might be able to write some kind of Applescript which takes the "City" and "State" metadata you've been filling out, and generates and fills the lat/long fields. (I think it is possible; I don't know how to do it.)
Thanks! Re: your script idea: I'd need to write it re: the location field. For example, I often put an address, or the name of the state park or whatever, in that field. Seems like it might not work at that level— only on a city/state basis as you suggest.
I guess it's all going to be manual for me— if I decide it matters that much. 30,000 images from all over the world. I've got my work cut out for me!
Remember you can filter on Metadata -- in your case use the Rule "IPTC" with the settings "Image Locations ... ":
As I understand your set-up, you could filter by some words and batch assign locations (select all; assign location).
You can also (of course) use other arguments in the IPTC Filter Rule.