A common way to do this is to use one shift register to carry a cluster of variables. The initail value of the cluster (left side of the shift register) is a cluster of constants that matches they types of all your variables. In a case where you need a value, you just unbundle that value. If the case modifies and variables, you just bundle the new values and wire it out to the shift register.
This does force you to wire through every case, but it's only one wire. Plus, if you decide you need a variable in a case that previously didn't, it's just and unbundle away.
Hope this is clear. Let me know if you want an example.
~Tim