> I just made a definition command that can produce commands
> having optional arguments

You can not do this for commands that are to appear `mid word' without
breaking TeX's ligatures. You can not have *any* non expandable
command there. Even \relax which does `nothing' is too much. Compare

ff with f\relax f

So as Frank mentioned, `shortref' definitions are very constrained in
what they can have in their definition. They can not use \def or \let
or \futurelet or pretty much anything else that you normally would use
for parsing. they are more or less restricted to using

\expandafter\ifx\csname #1-xxx\endcsname\?

Well you can have optional arguments, perhaps by looking for [ with
these methods, but you could not use the normal \@ifnextchar mechanisms.