on the confirm page, the shipping country gets stored to a session named eCartCheckoutForm_shipping_country.
you could add a switch case statement just before the UPS Shipping behavior code to set a new session named UPSService based on the selected shipping state. then go to the bindings panel, click the plus button and select session, name the new session binding UPSService. and in the shipping behavior, bind the service setting to the UPSService session.
an example of the switch statement would look like this:
<?php
/*
UPS Service codes:
01 Next Day Air
02 2nd Day Air
03 Ground
07 Worldwide Express
08 Worldwide Expedited
11 Standard
12 3 Day Select
13 Next Day Air Saver
14 Next Day Air Early AM
54 Worldwide Express Plus
59 2nd Day Air AM
65 Express Saver
*/
@session_start();
switch(isset($_SESSION["eCartCheckoutForm_shipping_country"])?$_SESSION["eCartCheckoutForm_shipping_country"]:"") {
case "CA":
case "US":
$_SESSION['UPSService'] = "03";
break;
case "GB":
case "IE":
$_SESSION['UPSService'] = "07";
break;
default:
$_SESSION['UPSService'] = "03";
break;
}
?>