Hi TTS,
The only way I know of doing this in the designer is by creating an instance of the repeating table control for every possible combination of columns. This isn't too bad if you have a very small number of columns (<= 3), but otherwise it grows exponentially. You might be able to use custom XSL in a preserver block to accomplish this but that would get really messy and I doubt you will want to dive into that.
I would suggest that instead of offering the user the level of granularity that you have suggested simply offer them different view, such as "Concise", "Super Concise", "Admin", "Accountant", etc. These views would have the different columns turned off/on and would help without causing major development costs.
Matt Faus / Microsoft InfoPath MVPQdabra® Software / Streamline data gathering to turn process into knowledge