What the law should be:
Free speech must be protected: people must be free to express their opinions however unpopular (for example Westborobaptists, KKK etc.). There is no guarantee that there won't be hurt feelings, boycotts, protests because that too is legitimate free speech. If free speech is slander or libel - that should be against the law.
Speech and actions are two different things. Actions are not always free speech. Agree that - no person should be forced to engage in any activity he doesn't wish to, as an individual.
A business is not a person. Repeat - a business is not a person. If a person's business is providing a specialized service then that service should be applied equally, without class discrimmination, to the public. Because the business is service they are no more participating in the event than any other vender who provides goods.
I don't get this either. A person doing business is still a person. Why should they sacrifice their rights because cash is exchanged? Nearly every social interaction we have involves some kind of exchange. People associate for mutual benefit. And they discriminate in who they choose to associate with. I don't see why the should have to justify their choices to the state.
A business isn't a person. What fundamental individual rights does a business have?
I don't know what "a business" is, in this context. I'm talking about people. Don't they have a right to refuse to deal with people they find repugnant?
Not necessarily within a job. You might be teacher in a school who doesn't like hispanics - you still have to do your job and do it professionally regardless of whether you find them repugnant or not. Or quit.
I'd hope the employer of such a teacher would fire them, but I don't think the law should have anything to say about it, either way.