The infinite loop has nothing to do with $*.
alias _yeh_ tokenize 32 ABC DEF | while ($1) { echo -a $v1 } will also result in an infinite loop, that's normal since nothing is making the while condition fail.
$* isn't to be used like that, but more like this:
alias _ifmatch if ($1) echo -a $v1
alias _yeh_ tokenize 32 ABC DEF | _ifmatch $*
Or if you want to do something as simple as echoing,
//tokenize 32 ABC DEF | echo -a $*
$* will call the command where it is specified in, for each token. In our example, the aliases _ifmatch and echo get called twice, for each token, being ABC and DEF.