The datasheet says I can drive LEDs directly on the ports but I'm not sure if it really supports driving 8 LEDs per port at the same time. Do both drivers cut off as soon as a peak of 100mA (per port) are reached? I haven't found any notice on the total power consumption in the datasheet.
As this is my first post I'm not allowed to post links. Google for AT89C4051 if you wanna have a look in that datasheet.
As far as I can see you can drive 8 LEDs at the same time but should stick to 20mA per LED. Also, you need a current limiting resistor on each LED. The power will be dissipated in the LED and resistor, not the micro, so there shouldn't be an issue with maximum current/power of the micro.
Personally I don't see that as an "absolute maximum rating". It is Note 1. to the VOL specification. So, my interpretation would be that if you drew more than 80mA total the output would not meet the guaranteed 0.5V at 20mA.
why not time multiplex led( turn on one led at a time for a very short duration ) this way you save power and never exceed the chip/port driving capability