Even if custom operators were possible they would still need a prefix to distinguish them from ordinary text, otherwise you could end up with horrible problems like:
if (hello moo [color:red]newoperator %blah) ...[/color]
becoming
if (hello [color:red]moo newoperator %blah) ...[/color]
if a new script introduced a moo operator.
So with that in mind, is:
$iif($nick [color:red]$~isowner $chan)[/color]
(assuming $~ as the operator prefix) really much cleaner than
$iif($isowner($nick, $chan))
Perhaps a more subtile method is possible:
//if (hello=hello2) echo -a $v1 and $v2
is the same as if (string)
//if (hello =hello2 hello) echo -a $v1 and $v2
is the same as if (hello = hello) which is valid but deprecated
so hello2 is basicly cut off. However mIRC could in this case try to evaluate what its cutting off
same with
//if ($nick =opper $chan) echo -a $v1 and $v2
//if ($nick ==opper $chan) echo -a $v1 and $v2
//if ($nick !=opper $chan) echo -a $v1 and $v2
this opens up the possibility to call alias opper with $1 and $2 and perhaps a new alias $negate returning true when negated.
the called alias just returns $true or $false.
isopper is a bad example because if ($isopper) is much more cleaner in my opinion but i guess theres situations where the above can come in really handy.