Yes, this can be done by setting a session variable to store the different shipping zones. Then in the shipping rules, you have a different shipping rule for each shipping zone. The trigger will be based on the session variable value and then you would be able to set up the different rates for each of the regions.