Working daily with ten two-year-olds, I understand that those little inquisitive things get extremely annoying. getzburg left a few things out. Sometimes, you don't know the answer to the question. Other times, you are too tired to care. Either way, what the child really wants is to converse, not to know everything. So here are a few more suggestions.
-If you don't know the answer, just say so. This will have two outcomes: The child will ask "Why?" (in which case, you should resort to option #2), or he will decide that you're no fun and run off to do something else.
-Whether or not you know the answer, give an untrue and completely off-the-wall answer.
Little girl: "Why is your name Rachel?"
Me (with a quirky smile): "Well, one day nine little purple monkeys jumped out of the sky and fell on my roof. After spinning in circles, they ran out into the street and disappeared. That's why my name is Rachel."
(Little girl calls your bluff, sports a huge smile and runs off to play with the other inquisitive creatures.)