Do you mean you want to create an alias for the actual tool? So if you have nuke-9.0 resolved and you run 'nuke', it runs Nuke9.0.exe?
Rez does not have its own mechanism for this (it does in suites though). It's up to you to provide the alias. On Linux, you'd typically do this either by providing a wrapper script yourself in your own /bin dir in the package; or, you can create aliases like so:
def commands():
alias("nuke", "Nuke{this.version.major}.{this.version.minor}")
Perhaps some Windows peeps can chime in as to how they achieve tool aliasing?
I need to write the docs for what objects are available in the commands() function (env, this etc); in the meantime you can take a look at the "rex" unit test code (rex is what we call this shell-like API), I think it tests almost every object/function available.