Someone else came up with this suggestion, I feel honor-bound to share it here:
"...If you are trapped, never give them personal information, but change the subject: "That's a nice dress you're wearing. My aunt had one just like it that she got at Nordstrom's, bla-bla."
My friend likes to try to "sell" her own religion. It is hilarious, but she is so friendly and polite that she doesn't offend anyone, yet, she chases them away. She steers the subject to either her church or to AIDS.
She'll start off by saying, for example, "This bathroom is a lot nicer than the one at my church", then she she starts rambling on about how much she enjoys the church she goes to, and how they are having a big fund-raiser for AIDS, and it would be nice if the person would donate, and just a few dollars would really help. Even the most aggressive pushers can't get a word in edgewise, and nobody likes to be hit on for money.
...I happened to be campaigning for a friend running for another term in his local political position. He was famous for getting rid of a lot of corruption. I carried fliers with me at all times, and whenever someone accosted me or came to my door, I would hand them a flier (handing someone something mid-sentence shuts them up) and start "selling" my candidate to them, with an enthusiastic flow of dialog about my candidate's education, background, experience, etc. It was a good subject, and I could ramble on and on and never run out of things to say. Then, I would say, "Oh, I've gotten carried away, and I need to check on the dinner in the oven. Thanks for dropping by" or any lame obvious excuse to close the door on the person. It was fun to see the stunned, helpless look on people's faces. I was sincere in my spiel, and not rude or evil, just--in charge.
Any one of your favorite causes or beliefs will do. Lately, I ask for contributions for MS research, because that's where I'm involved right now, though not as an official fund-raiser, LOL. You get the idea.
Fight fire with fire..."