He may not be eating because he can't breathe, or he may have a lot of postnasal drip which is upsetting his stomach. It could be allergies but that doesn't mean to take him in for ridiculous scratch tests - too much! This problem is worse in the winter because we stay inside with all the dry air plus all the bacteria that flourish in these warm, dry, indoor conditions. Try to get rid of dust collectors in his room (venetian blinds, too many stuffed animals or other things sitting out - I know, haha, how do you keep stuff out of a kid's room!?!?) I assume you've checked to be sure the humidifier isn't putting so much moisture into the air that you have a mold problem. You can put saline drops in his nose - available over the counter. He's too young to blow his nose efficiently, unfortunately. There is something called a Neti pot you can use to flush his sinuses but it's probably hard to do in a 2 year old - he might not sit still, and he needs to blow his nose afterwards. You can try to elevate his mattress - head end up - so he drains better. Check with the pedi and on-line about the Vicks - there is a lot of controversy about it, especially in young kids. Not all old remedies are a good idea.
He's probably dealing with a depressed immune system - most of us are in this country anyway, says the AMA, and we need to supplement our diets. This is particularly true with kids who are picky eaters and especially when one like your son is not feeling well and then eats even less. Doctors, despite the AMA recommendations, still tend to go for the drugs (like yours gave you a decongestant) rather than the nutritional solutions, although many more are coming on board every year to combat the health crisis we have in this country! I had chronic allergies and was always sick (bronchitis especially - maybe 3-4 times a year for 4 weeks at a time - yuck) and now have NOTHING. It's absolutely worth it to take some time to learn about it!
Good luck with your little one. You're not a bad mom just because you can't solve all these problems. Don't be afraid to get him out of the house for an exchange of air.