If it suits you to call the "all-in-one" alias as an identifier, you could then use $hello().property method without affecting the $1- parameters, ie:
Code:
 
alias hello {
  if ($isid) goto $prop
  else {
    return
  }
  :hi
  < deal with $1- >
  halt
  :alan
  < deal with $1- >
  halt
  :cat
  < deal with $1- >
  halt
  :world
  < deal with $1- >
}

Just a thought. Haven't tried it myself, and apologies for the use of goto smile