alias is a builtin, not a keyword that could make Bash interpret the rest of the line in a different way than it normally does this. And normally double-quoted (or unquoted) variables are expanded by the shell before the command (or the builtin) is invoked. This happens in your case. Note the expansion is not limited to the part after =. I mean you can do this:
var1=alias
var2='foo=bar'
"$var1" "$var2"
and it will effectively create an alias that turns foo into bar. In your definition you want $BASE to be single-quoted, so it's not expanded.
Any alias replaces text with text. It's purely textual. As you want goSomeWhere to be replaced with literal
cd $BASE/somewhere
Wait. No, you don't want the above, you want the below:
cd "$BASE/somewhere"
Your definition should be:
alias goSomeWhere='cd "$BASE/somewhere"'
See Parameter expansion (variable expansion) and quotes within quotes. The variable is single-quoted when the alias is defined, but properly double-quoted after the alias is expanded (which happens every time you use it).