My understanding of Charlieplexing is that you can hook up to 6 LEDs to 3 pins given that the pins can take three different states (High, Low and Input). The High and Low I understand but don't you set the pin to Output or Input before the main loop of the program starts running? How do you control the LEDs in the main loop of the program, i.e. how to you switch a pin to Input on the fly?
Nothing hard about it! Just use the PinMode command - it can be used anywhere, not just at the start of the sketch!
Are you sure pinMode use is limited to the setup fonction ??
I can't test it (I'm currently at work) but I think you can use pinMode in loop or other function.