Yeah, I tried to make it fit into shader model 1.1, and it does fit, but you have to unpack each bool in a separate pass. It's possible to make the vertex shader = null so you only need to call the pixel shaders, or you can unpack the bools into a float3 or 4 within the vertex shader then use the values within the pixel shaders, or wherever you need them. Lastly, I tried using the conditions without the bools and the size jumped from ~1300 to ~1600, so, umm... yeah, I put them back

This is actually not a bad solution if you are strapped for shader inputs but want to be able to set a lot of boolean state variables which would otherwise take up one input apiece.
There are still trade-offs. If you pass the bools as separate float inputs, then you can use shader model 1.1. If you pass them with this method, you pretty much need shader model 2.0.
It's a handy piece of code, if I do say so myself. Maybe I can hop it over to Ben and Kees and see if they can get a node working for ShaderFX.
~Rhys