Be Nice or Leave

As a customer-facing tech support employee, I deal with dozens of customers everyday, and they aren't all nice.

I understand frustration - even anger - when things aren't working as they should, and even negative emotions that spring from a customer's own confusion and inability to use the software. But what I don't understand, and what is harder to ignore, is rudeness - customers just being assholes.

For starters, do they think this will inspire me to help them more? It doesn't, in fact I often don't share awesome information (discounts, features, etc) with assholes, and aim to end the interaction as soon as possible.

Is it a power thing? Do they think they can be rude to someone who is being paid to help them? Whereas I would be instantly fired for saying anything remotely rude, the customer seems to have almost no accountability (except in extreme cases) to maintain a civil tone.

I sometimes fantasize about working for a company with a firm "no assholes" policy that applied to customers as well as employees.

I would love to say to customers "well if you want to be rude, you can leave, good luck finding another software as great as ours is, though!" Let's hold customers accountable to the same basic standards of civility, instead of grinning and bearing abuse from the entitled.