One thing you can do is send a nice card to the folks on the birthday/Christmas list. And in the card, tell them that you've been "a little busy lately," but unfortunately it hasn't been the kind of busy that you prefer (that is, knitting for them).
If you have the yarn for the project, snip off a piece of it and enclose it in the card with a note that says, "Here's your project in its infancy stage!! You'll be getting the fully formed [insert name of project] as soon as I'm back to some form of normalcy!"
You could also remind them that if you don't take care of yourself first, then soon NO ONE will be enjoying your knitting!
And for those who purchased yarn for you to make something, offer to give it back to them so they can find someone else to do it. You're not the only knitter out there, so don't feel as though "it's all up to you!"
By the way, I wouldn't recommend putting a deadline on yourself since you never know what's around the corner!
And, yes, I second the advice to stop promising people things--at least until you've recovered. Saying NO is a very healthy thing to do. At the very least, you can tell them, "I'm sorry, but I'm just not able to take on any new projects right now."