If you're using a shell that supports local variables, such as ksh, bash or zsh, put all the code in functions and declare all variables as local.
With plain sh, you can use `eval` to perform the variable expansion before using the value. A return status only contains digits, so you don't even need tricky quoting.
eval "unset return_status; return $return_status"