This code should do it. The dll has no bearing on the info being gained, its simply a method of allowing mirc to run (and other events to trigger) while still in a script.
Please see the RAW numerics you well need to add any others your network sends if u dont want to see them during the WHOIS

It is important to know that a menu item name containing $getrealaddress($1) well return the real address or "Unknown" and that this process may take up to 1 second, any repeats of this fucntion well be instantly returned with the same result. So there is only one delay at the most.
You can just place it in the code section if you wanted, the first occurance of it whether in the menu item name or code well delay up to 1 second, and as said return either the address or "Unknown" (no " ")

Code:
menu nicklist {
  Real Address for $1 is $getrealaddress($1) so do something to em here : { echo -st $1 real address is $getrealaddress($1) }
}
alias -l getrealaddress {
  if ($1) {
    if ($1 != %getrealaddress.nick) {
      whois $1
      set %getrealaddress.nick $1
      set %getrealaddress.return.value Unknown
      .enable #whois.haltdef
      %t = $ticks + 1000
      while (($ticks <= %t) && (%getrealaddress.return.value == Unknown) && ($file(whilefix.dll))) { dll WhileFix.dll WhileFix }
    }
    return %getrealaddress.return.value
  }
}
#whois.haltdef off
;
raw 307:*:{ haltdef | ; any raw of a whois you want to block from displaying add more as needed }
raw 311:*:{ haltdef | ; any raw of a whois you want to block from displaying add more as needed }
raw 312:*:{ haltdef | ; any raw of a whois you want to block from displaying add more as needed }
raw 317:*:{ haltdef | ; any raw of a whois you want to block from displaying add more as needed }
raw 319:*:{ haltdef | ; any raw of a whois you want to block from displaying add more as needed }
;etc etc
;
raw 318:*:{ haltdef | .disable #whois.haltdef | ; end of whois info so shutdown the #whois.haltdef group }
;
raw 378:*:{ haltdef | if ($2 == %getrealaddress.nick) { set %getrealaddress.return.value $6 } | ;capture info for the menu function }
;
#whois.haltdef end


WhileFix.dll allows you to run scripts without freezing mIRC. For example, you could have a variable incremented to one million in a while loop and still be able to do things in mIRC. You can download it here.