Thank you everyone for your contribution, it prompted me to do yet another revision. I will add the cut-off voltage (cells with protection circuits are a bit more expensive than without), will consider a photosensitive element to detect ambient light, and will try to fit in the current limiting resistors for balancing while picking a N-channel FETs with lower Rds(on). I'll still include the N-channels because the chip really doesn't have that good current rating. I guess I'll also have to step down from 0805 components to 0603, making soldering a bit more difficult, but oh well.
I just wanted to clarify that while the peak current for the LEDs is indeed ~100 mA, the average current is only ~17 mA because of the refreshing method (there are 6 blocks, only one can be on at a time, so the duty cycle is 1/6 at most). Charlieplexing would require even higher currents to achieve the same brightness, because only one LED can be on at a time.
I can always reduce the duty cycle (and therefore the average current and therefore brightness) in software, it's literally just setting the second timer capture register, and enabling an interrupt which will turn off the lights. Correct me if I'm wrong, but I think as long as the pulses are below the LED's absolute maximum rating, it should be fine.
Also, I'm aware that the LEDs at full brightness will consume a lot of power, so I decided that they'll be off (and the chip in power-save mode, with only the RTC timer running) until the user presses a button. Then it will light up, and stay lit up for the next few seconds.
But anyway, thanks again, and now I'll get back to work.