Quote
First, something I wasn't necessarily aware, but that probably won't be changed now, using ! to negate a %variable or an identifier inside an if statement works on any token, even on passed parameter

Indeed, this was added a long time ago.

Quote
Howver, the above will actually fail as a condition, and will trigger the else statement:

That is the intended behaviour. The If statement expects an operator in this context.

Quote
Then, //if (a b) echo -a ?? gives a /if invalid format error,

That is also the intended behaviour. The number of allowed parameters depends on the operator you are using.

The /if statement was implemented very early on in the script parser's implementation. There are no plans to change how it behaves at this point, not least because of the potential this has of breaking backwards compatibility.