Well his is organized so that you can supply any number of parameters, i.e. $vget(blah, test, foo, fah, words,46).
However, I agree in that a loop isn't necessary. Here was my take on it:
alias vget {
tokenize 32 $($1-,2)
var %d $iif($($+($,$0),2) != 0,$v1)
var %e $($+(%,$replace($($iif(%d,$+($,1-,$calc($0 -1)),$+($,1-,$0)),2), $chr(32), $chr(%d))),2)
if (%e) return %e
else return Variable not set.
}
Though as you mentioned, you made yours for readability :V