Will HD44780 display be hurt with 20mA on contrast pin? (pin 3)
First off, the HD44780 is the controller chip, not the LCD itself. The LCD panel has its own specs, and an LCD module (controller + panel) should have its own datasheet. Sadly, datasheets for displays are often pretty terrible.

20mA seems like a lot for a digital IO. This page suggests never sourcing or sinking more than 16mA from a single pin. Your Raspberry Pi datasheet should have more information about output current limits. Look for an absolute maximum rating.

I'm not sure why you want to adjust the contrast at run-time. Contrast is usually something you set once with a resistor or trimpot.