Does an employee have to disclose to his employer the reason for seeing his/her physician (diagnosis and prognosis)?
Under certain circumstances: yes. If the employee is requesting FMLA, workman's compensation, or ADA accommodation. If you merely took time off for an appointment or were out sick and a physician's excuse was requested: then no you don't have to tell them the details.
Is that a violation of HIPAA?
No. HIPAA prevents medical providers from disclosing the information. An employer requesting it is not covered by HIPAA as you would be voluntarily giving the information.
Furthermore, can an employer penalize an employee for not disclosing this information (example, docking pay check)?
If the employee isn't providing needed documentation for an absence the employer can refuse to pay sick time. You must legally be paid for all time you actually work.
If it were me I would hand them a note from the physician stating an absence was medically necessary and the dates with the signature and nothing more. If I attended an appointment they would get a note stating "Clydesmom had an appointment at our office on September 5, 2012 at 9:00 am." Anything else I would not indulge.
"That's just my opinion, then again I might be wrong." Dennis Miller