$v1/$v2 would *always* reset for any other control statement. Even if mIRC had a special "$v1"-like identifier for while loops, it would still necessarily reset for another nested while:

Code:
while (conditionA) {
  while (conditionB) {
    echo -a $v1 | ; results of conditionB
  }
}


So it doesn't really help that much. Given that you can always assign the result to a variable, and that you would still need to do this in at least a few cases, another special variable would only lead to more confusion.