Businesses, especially small ones, have the right, or SHOULD have the right, to refuse service for people they don't want as customers. Yes, it may harm their business, but they are PRIVATE businesses for a reason. They can refuse service for those who don't wear t-shirts or shoes, and I think language is something that should be included in those signs posted on front doors. Those who REFUSE to speak English can always go elsewhere (I know where I've lived, there are business districts that cater to mainly those who speak Spanish).
My parents, owning a UPS Store, they do NOT have time or patience to learn a 2nd language. They DID, however, hire a bilingual employee to assist in that area.