Identifiers aren't really the best option for something that requires waiting for a response from the server. There may be something else that can be done, but using RAW to get this information works very well. It will trigger as soon as you have it, which is what you need when you are trying to get information that the server has to send you. An identifier would have to wait for it, which wouldn't work very well. Or else mIRC would have to store all /whois responses and you'd only know the result from the last time you used it, which also wouldn't be very good because you might think it's current information, but it may be hours, days, or even weeks old.
Will a RAW trigger in the middle of an ongoing script? For example could I /whois a nick, have a raw set a variable, and check it later on?
-EDIT- Also, I assumed the identifier would request new information everytime.