Instead of doing a /who for each nick you can /who every nick that starts with a particular character. This works on an unreal server, I don’t know about others.

Code:
alias WhoAll.Init {
  set %WhoAll.Ascii 91
  WhoAll.ByChr
}

alias WhoAll.ByChr {
  who +n $chr(%WhoAll.Ascii) $+ *
  if (%WhoAll.Ascii < 125) {
    inc %WhoAll.Ascii
    .timer 1 1 WhoAll.ByChr
  }
  else unset %WhoAll.Ascii
}


That covers every character that a nick can start with on my server. Adjust the timer interval as needed to keep from flooding.

This lets you specify a channel and a nick pattern:
/who +cn #channel $chr(%WhoAll.Ascii) $+ *