If a Catholic pharmacist refuses to fill birth controll prescriptions, that's a problem that should be discussed at the beginning of his employment. If the pharmacist doesn't make his religious feelings known to his employer, and if he's going to refuse to fill prescriptions, than the company should have the right to let him go.
Yes, a religion is personnal, but if it might interfer with a persons ability to do their job, then it should be brought up by the person wanting the job.
You brought up the doctor at a hospital refusing to do abortions at a hospital that offers them. This Dr. should mention his religious feelings regarding abortion at the interview, that way the hospital has the option of not hiring him. If he's hired for a job and after being hired refuses to do it, he should be let go.