I agree, mirc should look in its list of predefined aliases first though. if an alias exists with the value (like your example) $cda, it should take presidence over $cd with the concatentation of a. Ex:
alias $cda { return a }
echo -a $cda
a
echo -a $+($cd,a)
(Value of $cd)a
echo -a $cdb
(Value of $cd)b