If I cook up some meals, will the dwarves eat those first? Is there a way to stop them from eating them (if, say, the upcoming caravan is excited about them?) entirely? Or would I have to forbid each meal as it was made?
According to this page, "A dwarf with the "Eat" task will pick up a unit of food, often according to his or her dietary preferences, but also influenced by proximity and age of the item (new first)." Note that this article was written for an older version, but it doesn't seem that anything has changed in this regard.
So, all that can help, but there are probably some more sure-fire ways to avoid the meals getting eaten.
Whether any of this is actually easier than simply forbidding the meals, though...