It seems that you don't understand anything about how mirc works and how to make a proper benchmark in mirc. The reason I used (1 == 1) and not some more complex statement is so to reduce the 'noise' in that benchmark. Yes, I consider whatever is in the parentheses 'noise' because it doesn't affect the process we want to benchmark: apparently, mirc parses the /if parameters, separating the delimiters (parentheses)* from the actual statement and THEN evaluates the statement, evaluating any identifiers/vars and doing the actual comparison. I won't bother proving that to you, but it can be proven with simple scripting tests.
But you want to use that benchmark with variables/idents anyway? Go ahead, just replace "1 == 2" with "%a" (or "%a == 2"), assuming you have set the local var %a to 1 or something before the loop starts. I've done that and the results were no different in quality: the ()-less version was faster.
I wonder (or rather not) what else you'll come up with.
* When mirc sees an opening parentheses "(" it assumes that a () pair was used, so it strips ( and ) and evaluates the expression inside them, otherwise it treats the entire string as the expression itself.