you could go either way really, I would think it would be much simpler to have them all in one table then to use multiple tables my self.
the reality is, what you are asking is a very very complex scenario. It is going to require a very solid grasp of creating the database, and creating SQL Statements to get the correct data out of the database. I can give basic advice here in the forum, but the specifics of getting this working are beyond what i will be able to do.
I dont think a select list of Europe/ rest of the world etc... would be a good idea, since there is not really a way to match that up to the Shipping Country select list.
I would use the shipping country select list to determine location, then add a second list for shipping type.
the lists would go on the checkout page, the shipping lookup recordset would happen when checkout posts to confirm.