Ethically speaking, should private businesses be allowed to refuse service to

Read another response by Thomas Pogge
Read another response about Business
Ethically speaking, should private businesses be allowed to refuse service to individuals on account of any characteristic that is related to their behavioral choices? For example, in the US, restaurants are allowed to refuse service to patrons who spit on the floor or don't wear shoes but are not allowed to refuse service to a black man (since he did not "choose" to be black). In that case, supposing a restaurant owner does not like obese people, why should he be forced to serve obese patrons (some of whom might be black) since many of them chose to eat their way to obesity?