Hello sir,
Your project is challenging and I've been through this kind of problems. Basically I'll have a table which contains the continents/countries/cities, and each record has a type field. Now I have another table that makes the connection(to get the hierarchy), that will have the parent id and the child id. This ids are continents/countries/cities ids, so that's the way you keep records hierarchical.
It has no sense when you look into the DB, but in the frontend, it is extremlly easy: I take the contints and for each one, I get the countries, and for each country I get the cities. Also, a hierarchical display will be done, as you asked.
As about the import, you may import the list of countries,continents,cities, but the connection between them will be done manually, via a friendlly interface that I'll code it too(a drag and drop interface where for each continent you select the countries, and for each country, you select the cities). Also, a interface where you add continents/countries/cities will be developed, all these admin features being protected via a admin interface(user/pass).
D you want to integrate this one into a developed site? Does that site use a framework? Or is it jut plain php/html?
I'm ready for questions.
Thank you