Evolution doesn't say anything about the morality of homosexuality. It just acknowledges that homosexual behaviour exists. This is kind of obvious.
It's pretty clear that a literal reading of the Bible (especially the Old Testament) shows it to be against homosexuality. It's also pretty clear that a literal reading of the Bible is... um... well... it's silly. Ridiculous. Laughable.
Anyone who thinks the passages against homosexuality are valid, but the passages against shellfish and mixing fibres are not is going against a literal reading of the Bible. They are putting their own interpretation on the passages, pulling certain things out of context and not others inconsistently, and their motives for doing so are extremely obvious.
Reading the Bible as a whole, understanding that certain aspects were for a long-dead civilization, and focusing on the morality of the New Testament... well... the Bible's still against homosexuality, but it's much easier to explain away in light of other more general passages.
As far as morality in general goes:
Anyone who is "against homosexuality" in the sense that they don't like it and don't want anything to do with it and they may even find it disgusting... you're perfectly within your rights to feel this way. Some people like it, some don't. It's really not a big deal. No one cares if you get freaked out by snakes either... it's kind of funny to those of us who think snakes are cool and awesome... but no one really cares about your personal psychological issues. We all have our own to deal with.
Anyone who is "against homosexuality" in the sense that they want to stop adults from having sex with each other for any reason whatsoever... you're evil. Regardless of the basis for your ideas. It can come from the Bible, or your beliefs, or your grand-daddy's dying words. If you want to stop adults from doing something that doesn't hurt anyone and actually spreads love throughout this world... you're evil. You're against Love. And I spit upon your honour.
Now suppose a Catholic runs a copying and printing business, and a Protestant turns up wanting 10,000 copies of a pamphlet of the firey kind that denounces the Pope as the Antichrist and the Catholic Church as the Whore of Babylon. If the Catholic refuses to print it, that's religious discrimination. If he is forced by law to print it, he is obliged to assist in what he considers blasphemy and heresy, and where is his religious freedom?
I would side with his religious freedom. And, mutatis mutandis, similar things could be said of assisting with a gay wedding.
But if we really tried, couldn't we frame narrower laws which just go so far as to defend religious freedom, and no further?
I think so, but it will take some time for trial and error, perhaps.
Some things we can foresee, others may only become apparent once the proposed solution is in place.
Things like not-helping-with-gay-marriage.
I think it's fine for a minister to not help with gay marriage. I think a county-clerk may also be fine with not helping... if and only if they are able to find a suitable replacement (colleague, supervisor or something) who will do the job within some reasonable time period or something that like? Otherwise... they should be forced to move things along respectably.
Can we make that a law?
As for the copying-of-firey-material-against-your-religion... I think it should be okay for all copy-employees of all copy-companies to refuse to participate in such things if they so choose. After all, the one-wanting-copies could purchase a photocopier/printer themselves and still get the job done without too much extra hassle.
Those are some pretty specific distinctions, though. What would a law look like that accommodated for both specific situations?