Hi B.,
Well coming from a child care provider, I do teach manners starting from a very young age and I do use time out when it warrants a time out. I'm going to say this 1) don't allow him even at this age to do something that you don't want him to do later on as he keeps on growing up. The other thing he is NOT a baby, he is a toddler and he needs to be treated as such. At this age we are in what I call "training mode", we train them, we show them and we guide them.
That being said - find your mommy voice, your I'm not happy with you one. When he throws the food, you pick it up and say NO, in a stern voice. Then say done, and down.
Next you give him a plate and you put his food on it and when he tries picking it up, you once again in a stern voice say NO, it stays on the table. And once again you ask if they are done.
Next the food spitting out - when he goes to spit out the food, you once again in a stern voice say NO, eat your food. You can have another bite when that is gone.
I would not use time out for this, that just fuels the fire and you will create another bad habit that you will have to work on later. When he does throw his cup tell him no more and put it up. Also start teaching him to put it on the table when he is finished with it or only have cups at meals.
My daycare kids are not allowed to carry a cup around the house during the day. If they want a drink they ask for one and I will get them some water (keep in mind I a toddler myself and have 2 others in care).
These are some of the first words we learn in daycare DONE, DOWN, MORE, CUP, DRINK/JUICE/MILK,EAT, LUNCH TIME, SIT DOWN.
Being in child care we have to serve the child their drink with their meal in front of them and we have to serve their food on a plate, so we have to start early we have no other options. Hope this helps, W. B.