2. There's a trick to the required series resistors for the LEDs when charliplexing - you only need seven, one in each X line, of half the value you require in series with an individual LED. Due to the low duty cycle, once you charliplex on more than three or four pins, you generally want the lowest value series resistor your MCU can safely drive.
3. You *ALWAYS* need to keep the refresh rate above 30Hz, Anything below 60Hz has a high risk of objectionable flicker. If you want to be certain the flicker wont be noticed, get the refresh rate above 100Hz. Upto 100Hz, faster is better. Above that there is little benefit. For your application, I'd probably make the timer rate 500us so the same timer can drive a 1ms or 10ms tick count for general application timing. That would give you a 57Hz refresh rate.
4. The low duty cycle combined with the limited current capability of an I/O pin limits the brightness and thus the maximum number of charliplexed LEDs. Lets assume your MCU is good for +/-10mA on each I/O pin. With 9900 LEDs, the average current would be only fractionally over 1uA. Assuming you are using small high efficiency LEDs, this will be easily visible in a totally dark room, but will be unusable with any normal background illumination level.