Grumpiness, at least for me, comes from the frustration of dealing with people who don't understand the ramifications of their change-requests. "Can this app run in offline mode?", "Can you make it run in 128k RAM?", "Your software doesn't work right if I run a butter knife across my motherboard when I start it up!" What seems like a simple change to them is actually a large change to me, and the pushback/explanation…
I don't think it's a wise idea to get grumpy (particularly visibly grumpy) with people who make unreasonable change requests. They don't do it to be mean, they do it because they are ignorant. So, it's up to you to educate them - try not to be condescending, try to be enlightening. Take them down the rabbit hole and show them what you can do quickly, and what takes time, and why.
When someone asks me to do something, I like to present multiple options to achieve their objectives, highlighting easy ways to do things that may have drawbacks, but take less time, and also fully explaining the time and costs of their intial thoughts.
The key, I think, in working with business people on software is being obviously willing to do some work to achieve their objectives, but also offering a pragmatic, technical point-of-view. Don't leave them room to think you just don't want to do something - express that you are definitely going to do something, but guide them to the right path.