Me want big big.
I've also been looking for this functionality. It makes project templates more flexible. Anyone who's worked with vis-studio has probably seen the "Output: '$(ProjectName).dll'" field in the compiler options. Takes out a lot of repition AND it allows easier renaming of output files.
This has nothing to do with the original topic, what you ask for has been supported for ages. In fact, Code::Blocks supported this before Visual Studio 2005 was released.
Compiler and debugger executable paths (OT) are a different thing, I am not sure if any kind of variable substitution is done in these at all (don't think so).