This is definitely possible, but it would take quite a bit of hand coding. We have a product called Dynamic Dropdowns that would accomplish the behavior that you are looking for. Basically you'd set up the different states, provinces, cities, etc in a database and when the value of one dropdown is selected, it will dynamically populate the next dropdown.