One way you could do this is to use the radio button to set the value of a session variable using the eCart > general > set session value server behavior. Once you have the value stored in a session variable you can then go and update your shipping rule to take into account this variable. For example if you choose the option for pickup and this sets the session variable to a value of "pickup" you can then modify your shipping charge rule to add another condition to the trigger, you will say 'based on session variable value' and choose this new session variable specify that if this variable does not have a value of 'pickup'. This will make it so the shipping is not charged if this variable exists with this value.
To make the form submit with the selection of the radio option you could add in some js to the onchange event like this:
onchange="document.yourform.submit();"