It's pretty easy to setup a dynamic varable. Although, without built in support for them you end up with stuff like:
% [ $+ ping. [ $+ [ $nick ] ] ]
or
[ % $+ [ ping. $+ [ $me ] ] ]
I suggest allowing a command like %(ping. $+ $nick) to be equal to [ % $+ [ ping. $+ [ $me ] ] ]. Also allowing stuff like $(Join. $+ $network) so that everything in the () directly concatinated is evaluated then checked against varables or aliases.