This solution uses (hidden) windows to store the nicks, and filter to sort the list
Code:
menu * {
  Alphabetical Whois : who_is $$input(Channel Name,e,,$iif($chan,$v1))
}

alias -l who_is {
  if (!$nick(#$1,$me)) { echo -a Sorry you must be in #$1 to perform the alphabetical whois. }
  else {
    window -h @alphawhois.nicks
    var %nr = 1
    while ($nick(#$1,%nr)) { aline @alphawhois.nicks $v1 | inc %nr }
    window -h @alphawhois.out
    filter -wwct 1 32 @alphawhois.nicks @alphawhois.out
    window -c @alphawhois.nicks
  }
  .enable #alpha_whois
  alpha_whois
}

alias -l alpha_whois {
  if ($line(@alphawhois.out,1)) { whois $v1 }
  else {
    window -c @alphawhois.out
    .disable #alpha_whois 
  }
}

#alpha_whois off
raw *:*:{
  if ($fline(@alphawhois.out,$2,1,32)) { 
    if ($numeric == 318) {
      echo -s $str(-,15)
      dline @alphawhois.out $fline(@alphawhois.out,$2,1,32)
      alpha_whois
    }
    elseif ($int($calc($numeric / 100)) == 3) {
      echo -s $2-
    }
    haltdef
  }
}
#alpha_whois end