I hate to be the voice of dissent here... well maybe not, but now that I'm not actually providing 1st level support, customer service, and scheduling technicians I don't have to be so nice.
You all deal with customers who are seeking something, you are not what they're looking for, your product is but if they could get it cheaper or faster somewhere else they wouldn't care. Most of them are idiots, some of them are good enough to know it, but not many of them. As a result the things you think are stupid from a customer who doesn't have all your expertise and training might just seem logical to them because they just don't know better. If you don't like dealing with stupid customers regardless of the industry I suggest you get the fuck out your customer facing role because it doesn't get better.
If a customer makes a joke about your job and you've heard it a billion times before it doesn't make them wrong to make the joke its possibly the first time they've made it or the first time in a long time that they've made it.
If someone orders in the wrong order... did you tell them the order they need to speciify things? They don't know what you have to do to record the order, and quite rightly most times they don't care, they're giving you money to "insert function here" by all means tell them how to tell you what they want, but don't get upset when they tell you the wrong way because they don't know better
Don't ever assume the customer is either telling you everything if you're giving a time quote, or that they're using the correct technical terms if your supporting something, I mean come on, if you're giving a quote put it in writing and email it, or make sure you say "this will be $X for this job, if it takes longer it will be another $Y/hour" If there's anything I've learnt in my years in IT it's that nothing every goes to plan with troubleshooting so don't assume it will and you'll be sweet. As for the customer knowing technical terms, it's cute when they try, awesome when they get it right, but they've seen or heard the word thrown around and assume it means a certain thing... and when some technician will just use technical words to make their job sound hard its difficult to blame customers for breaking the technical code.
At the end of the day we have collegues or customers who make our jobs more difficult then we'd like it to be, getting upset or passive-aggressive about it does nothing, just laugh at the stupid joke or educate people and tell them how they help you to help them instead of thinking "stupid customer"
Also Grant Stackhouse - It sounds like a few of your issues are coming from people "not knowing/remembering" prices, quote details and the like. It might be an idea to give written quotes, or at least have something in writing that lists your rates that a customer can take with them. If you're already doing that, my bad, but it's something that we do and refer to and the number of "OMG it cost how much?" conversations are rare because of it.