correct me if im wrong but.

if ((%variable = unknown_value) == test_value) { commands involving %variable }

is not gonna be any better than
%variable = unknown_value
if (%variable == test_value) { commands involving %variable }

you must be setting it then testing it, then perhaps using it

I saw you said you have done this in C, I would feel sure, that if you actually back enginered the code created from your example (in C) you would find its simply , sets the variable , tests the vaiable then performs what ever based on that, in fact i know it would have to.

Of course on the other hand being able to do what you say in something like this...
if ((%condition == $true) && ((%variable = unknown_value) == test_value)) { commands involving %variable }

well that would be nice, i guess, as only if %condition was true would the %variable ever be created, then again u could just create it after testing if unknown_value == test_value, that of course would need $ifmatch or a refetching of unknown_value, and im assuming your talking about some unknown_value that maybe time or resource consuming to get.
I can see the problem using $ifmatch if the IF condition was more complex, like there was more than one unknown_value being checked against its test_value, So well damn it, by the time i finished writting YES i think this would be a good idea.