Looking things over, all the data that you are asking for appears to exist in their dataset. The exact query you are looking for should be pretty easy to come up with assuming that you imported everything in a relatively straightforward fashion.
Basically, you'll need to join the geonames
table against the admin1codes
and admin2codes
tables as they contain State and County information respectively. You'll also need to create a table to store continent information and join against that table also. Then, you merely have your query match a specific city and connect all your joins.
If you haven't already, I'd recommend looking through their FAQ forum:
http://forum.geonames.org/gforum/forums/show/6.page.
There are posts there detailing importing the data into just about every major database, and also some information about chaining drop down lists.
If you have a more specific question, please post here so we can help.