Trading toys? why complain?
I don't think he is "un-thankful" FOR trading his toys, he is practicing a valuable skill for adulthood. He is practicing kid-level economics. Her is learning how to barter and will learn value... Instead of making this something to get upset about, set him down and try to explain the VALUE, and fair trade. Explain to him that is doesn't make sense to trade a more valuable toy for a less valuable one...
Any toys YOU are especially attached to or are very valuable, tell him he cannot trade, and show him which toys he can trade... you may want to put the valuable toys away.
As far as the movies go, maybe he just didn't like it! Young kids say how they are feeling right now, and don't usually have the insight to realize that sometimes saying what you feel is going to hurt someone elses feelings.
For example, if your husband treated you to a day at the spa, and you ended up with a rash from the facial, a bad haircut, and had a miserable experience... When asked "did you like it?" you would tell hubby "Yes it was great, I just loved it, thank you so much!" (even though privately you'd be thinking 'ugh- worst spa ever!') But kids don't really learn what to keep to themselves until they are a little older. To him, he just doesn't realize that YOU feel like you did something nice for him and it hurts your feelings when he complains. He isn't TRYING to be ungrateful, and he probably was happy he went to the movies with you... but didn't know that he was 'supposed to' enjoy it- whether he liked it or not!
If you want him to learn to be more considerate tell him how YOU feel when he says these things. Kids have to learn compassion through relating to others. When he says "the movies were too loud...and the popcorn too greasy.." say, "well I am sorry you didn't have everything as you wanted it but it makes me feel sad when you say you didn't like the movie, because we were really trying to give you something special... wouldn't you be sad if you did something special to make us happy and we didn't like it?"
Also, you could have him work for the thinks he wants. instead of just GETTING him a new bike, tell him if he really wants a new bike, her can earn it. Have him do chores or tasks above and beyond what he is now expected to do. you could even give him a jar and make some "bike bucks" on the computer worth different amounts of money... when he earns enough "bike bucks" to 'buy' a bike- he can go buy one with you! Good tasks could be... cooking dinner earns $5 or $10, washing the car, lawn mowing... you could also consider seeing if he could volunteer at a nursing home, animal shelter, or soup kitchen. Seeing other people or animals with real NEED may help him relate that he has a lot to be grateful for.
And try to make sure you are acting thankful for what YOU have. It is easy to get angry and list all the "bad things" in life, and kids will mimic that behavior. But if you often say "wow I am so lucky to have such a great family, home, good food to eat, thoughtful husband, caring kids, wonderful experience... etc..." he may find himself reflecting on what HE has that is so great in his life!
Good Luck
-M.