Let me try to explain what I mean more clearly. Now there is the @eval function which takes an expression consisting of variables, function calls, and arithmetic operators (e.g., @eval[a + 1]). There are lots of operators and, most importantly, variables and functions are not preceded by "%", which means that there is no substitution, but rather the values of the variables and functions are processed without being substituted, as in most programming languages. Let's extend it to do string operations too, with operators such as "." for concatenation. Then we can invent a new construct using braces, perhaps, to enclose an expression or multiple expressions, as in {expression1,expression2,...}. TCC does not seem to use braces, as far as I can tell, but if it does, something else could be used. Then we could have constructs like @function{expression1,expression2,...} for function calls with no substitution in the arguments or maybe %{expression} for a computed value substituted into a command.
I'm not trying to work out all the details here, but I hope this gives you a better idea about what I am thinking of. I don't know the internals of TCC, but it seems to me that it wouldn't require a complete rewrite.