Personally, I think you are way over thinking this. He's 6. Right? You can teach and live by example all day long his whole life, but at the end of the day, he's still 6 years old. And even though he may KNOW what you are teaching, he still wants what he wants. And has feelings of wanting more. It's human. Especially for a 6 year old.
The examples you gave (perhaps there are more and worse than what you shared here?) are rather mild, if you ask me. Particularly the Halloween candy. I would suggest that rather than not being grateful and big-hearted, it was more of a simple observation on his part. The other houses probably gave him lots more and so when that particular house did not, it made an impression.
I have found, with my kids, that it is more helpful to be a little less punitive about such things. Rather than take him home, I might have simply pointed out that perhaps the people that lived there didn't have enough money to buy "extra" candy and needed to give frugally so that all the kids who rang their bell were able to receive some. It's a different way to look at it, without being punitive. But over time, these things do have impact.
I don't know about the birthday present. Was he expecting this package in the mail before it arrived? Has this person sent very nice gifts in the past?
I think if you take all his things except for the necessities, you will just cause him to be angry and the result will not be what you are hoping to achieve.
Just talk to him.
You are doing great with having them collect for the needy and showing them how to be generous. Let it be something they learn to enjoy for its own sake, rather than something they are punished for if they don't exhibit YOUR idea of generosity.
Just my thoughts.
My kids are 15 and 12. And they are quite helpful and kind kids. Daughter is on a current tear right now to earn "volunteer hours" for her Jr. Beta club. You wouldn't believe all the ways she has come up with to volunteer. Not even including that she volunteers her time every week at church playing the organ for the services. Year round. She doesn't expect anything in return. She enjoys it. And yes, she has to spend time at home practicing in advance every week.
---
Excellent Amy J. I intended to get to that aspect, and got derailed. (sigh.. older age minds). Yes, correct his response appropriately. He should give a gracious thank you no matter what the gift (card only? "THANK YOU!"). He can fake it until he feels it. It is the appropriate response and he should be expected to give it. Teach him to respond appropriately EVEN WHEN he is dissatisfied (for whatever reason) with an act of generosity towards him. Just like eating dinner with someone else's family. They serve something he doesn't like, he isn't allowed to say "eww. gross!" He may not be required to eat it, but he can be required to say "No thank you" politely. It's the same concept.
If he responds in a grossly inappropriate way, you punish that response. Not his level of "thankfulness" per se.