well, this responds to the normal /names (I don't know if there's any difference between a global /names, or a /names on a channel):
Code:
alias killguests { SET %kg 0 | .NAMES $1 }
raw 353:*: {
  IF (%kg == 0) {
    WHILE (%kg != $gettok($4-,0,32)) {
      INC %kg
      VAR %nick = $remove($gettok($4-,%kg,32),+,%,@,!,&,*,~)
      IF (Guest* iswm %nick) { KILL %nick }
    }
  }
  UNSET %kg
}