You know it's funny, a few years ago I took the approach of telling people "Well I don't have time to get that done when you need it, or to do a quality job." My intent was to be honest with them so they could look elsewhere and get the service they deserved. You know what I got for it? Dinged on a review for "Pushing back too much."
I called an ex-boss who I respect and asked him about this. He said, "Yes, you do that. Next time say yes." "Even if I can't get it done." "Yep". So now that's what I do. I almost always say yes. ...and you know what? I'm now the goto guy... The one that will take on any challenge, etc...