M.D.
Well, I don't know about the carseat. If he has acid reflux (as suggested by Alyson) maybe ask your doctor what you can do? It isn't a great habit to encourage, especially if he slept fine in his crib before. He's at an age where routine and habits form. You said that he trouble sleeping started after you began using Aveeno and a humidifier? Maybe try taking those two factors away for a couple of days, and see if he sleeps better. If he does, ask your doctor if there is something else you can do for his eczema that won't bother his sleep.
In regards to his eating, my son did this too. He liked to pick the food up with his fingers to feed himself, but as soon as he began to get full he would swipe his hands back and forth across his tray, sending food everywhere, and he would mash it ('playing with his food'). He would do the same things sometimes when we fed him ourselves (waving his arms, hitting the spoon, spitting). It was a phase, a frustrating one, but it did go away. The trick to making it go away was two things: endurance, and discipline. He was scolded when he threw his food or mashed it, and if he didn't calm down after being told "No" when he threw his hands around and hit the spoon and spat, he was told he was "All done" and his meal ended. If in ten minutes he was still interested in eating, we would try again, and usually he behaved himself the second time. Usually.
This process of Mommy and Daddy trying to be patient and wait it out, and being firm in teaching him that throwing his hands around in a fit, mashing food, throwing food, spitting, etc, was not okay– it took a month or two, but it worked. He still does some of this stuff every once in a while (like when he is teething and just plain grumpy!), but it is usually when he is throwing a temper, but he knows that it is wrong, and will either get defiant (as little kids do when throwing a temper) or he will freeze and get an "uh oh" look on his face.
Your son could be getting full (if he eats great for most of the meal, and then starts to act out towards the end, that is probably it). In that case still be firm, that he can't do those things, but go ahead and stop feeding him. Now would be a good time to start saying "All done?" Just those two words, a couple of times; and then put his food away and let him down. He will start to associate those words with when he is all done, and some of his first words may be "ah dah" (which is how my boy says it). Which will be great! It will give him a way of letting you know he's done. If he is just acting out, again, just be firm and tell him "No!" with authority. If he hits, throws his arms again, etc., grab his arm firmly (though not to hurt) so he can't do whatever it is he is doing, and say "No!" again. If he spits, and keeps doing it when you have said no, give his cheek a very light flick with your finger (again, not to hurt) and say "No!" The flick will surprise him more than anything, and he won't like it, even though it doesn't hurt. He might cry when you do it, because it will surprise him. Gently touch his hair, say I love you, or It's okay, make a soothing noise (so he knows you still love him), and then try feeding him again. He'll learn! :-)
I hope this helps. Good luck (it does end!) and God bless!
M. D