There is max current per port, and Vdd pin. That current is much lower than sum of all 20mA per pin. So you should not try to pull 20mA from each pin...
Pic should not get warm at all. Power disipation should be in mW.