I recall an episode where the Doctor downloaded the appearance of his crewmembers and imitated them, but that required him to create an entirely new program. At the beginning of Endgame Pt 1 we see that The Doctor is with a particularly young date, although he is still balding and that got me thinking - if he wanted, could he make his hair grow? So the overall question is - can the doctor change his appearance by himself when he wants to (making a minor adjustment to his programming), or does he need someone else to do it with/for him (eg Dr Zimmerman)?
The Doctor is perfectly capable of making small (or even large) changes to his outward appearance but not simply with an 'act of will'. He still seems to needs to use a voice-controlled terminal in order to make the changes.
In the episode "Renaissance Man", the Doctor commands the ship to download a series of holo-templates to his program in order to change his appearance, initially into Chakotay and later into Torres. It's certainly no stretch of the imagination that the same process could be used to create a new EMH template (with hair) and download that to his program.
Shortly afterwards, he morphs into Torres. Noticing that her image is incorrect (e.g. minus her pregnancy), he then commands the computer to make a minor alteration. Again, this process could undoubtedly be used to add hair to a running holo-template.
Additionally, in "Blink of an Eye", Torres gives the EMH access to his own image control systems. There's no subsequent mention that these permissions are withdrawn at the end of the mission other than a quip about plastic surgery.
In VOY Blink of an Eye he is given a new program to be able to change his appearance to fit in when he is sent down to the planet to investigate.