I have a very hard time being honest without feeling rude. But if I'm not honest, I feel like a fake and sometimes even annoyed at the person who asked the question! Horrible. How can I be true to myself while staying my ever-gracious self?
It sounds like you are a well-intentioned, kind person. I hate to break it to you, but unless you are being honest with yourself and with others, you aren't really being gracious. Being courteous and kind (i.e. gracious) is about respecting who you are and the person you are with enough to share what you are really feeling. Not being honest is truly akin to being disingenuous. Sounds much less appealing when you think about it that way, right?
My rule? Honesty is always the best policy as long as it comes from a kind place. Which means, you don't have to go out of your way to share every thought that crosses your mind. But, you do have to answer honestly if you are asked for your honest opinion.
Start with the little stuff. When asked light questions like "Where do you want to eat?" "What do you want to do?" Make sure you answer, honestly. "Does this dress make me look fat?" "Do you think I'm over-reacting?" Those are a little more emotional, but again, as long as you answer from a place of kindness and genuine hope of well-being for the asker, you are respecting them and doing them a favor in the long-term.
Try it. You'll see. Making someone feel better in the short term isn't necessarily making them feel better. And it is most certainly making you feel worse. Honestly? Nobody wins.
(photo: Sundowners, 1958 by Slim Aarons)