There is no way to directly set a variable in a shell from a script. Commands can only affect the current shell or subshells below it. Your only options are to set it in the shell itself or source it from a file.
And no, you can't arguments in aliases, but you can use them in shell functions. So one thing you can do is create a function like this, place it in your bashrc or other sourced file, and you'll have the ability to set the variable on the fly.
Code:
function setvar {
export MYVAR="$1"
}
Edit: by the way, I personally use a similar function to "turn on" and off a set of scripts that I have by modifying the PATH variable on the fly. It works like a charm.
Code:
myscripts ()
{
pathadd="$HOME/my_scripts";
case $1 in
on)
[[ $PATH =~ $pathadd ]] || export PATH="${PATH}:$pathadd"
;;
off)
export PATH="${PATH//:$pathadd/}"
;;
esac
}