I don't like this idea. Cooking is the only way many food types can be made edible at all, the suggestion would make eggs and the like much less useful to feed a fort; that'd be punishing the more complicated/industrious food generation methods.
Since a dwarf gets the same amount of nutrition from each food item, i take the "stack sizes" of food to designate "n full meals worth of food", so you're proposing cooking should destroy 50-75% of the ingredients. When i combine enough potatoes to fill up a person and enough peas to achieve the same effect, i expect to get _two_ full meals of peas and potatoes out of the job, not one.
In my opinion, the broken thing in prepared meals isn't the stack size (that's just the sum total of ingredients used) but rather the exorbitant value per meal.
To make food/prepared food more meaningful (and less value overkill), my suggestion would be to
1- make some food processes less bountiful: food value of eggs could be keyed to nominal egg size or something, so 13 duck eggs don't count as 13 meals, just like 13 ostrich eggs (ostrich egg clutch size could use reducing while we're at it, they're currently way too simple to breed in ridiculous numbers); don't give five-for-one when processing quarry bushes etc.; generally, i think what probably many others think, too - food is a bit too easy to come by right now.
2- adjust the per-meal value of cooked food to something more reasonable, by calculating value of prepared food not "per item" but for the whole stack, taking relative amounts of ingredients used into account, i.e.
10*quality for the basic "meal stack", + (ingredient stack size*ingredient value*ingredient quality) for each ingredient, giving the value of the entire stack of prepared meals;
this could create non-integer values for individual meals, but the game handles this sort of thing in case of coins and bolts already.
So a (everything exceptional, assuming a high-level cook) roast from 15+15+15 cow meat and 2 dwarven flour would not be:
current system: 5x10 (meal) + three cases of (5*2) for the meat + (5*20) for the flour = 180 per meal =8460 for the stack
but rather
suggestion: 5*10 (meal) + (45*2*5) for all meat + (2*20*5) for the flour = 700 for the entire stack, about 15 per meal; the value per meal is moderately but not much higher than what a single "cow meat", multplied by five for exceptional quality, would give, keeping the value per meal more in proportion, i'd think. The meal stack _is_ almost entirely processed cow meat, after all.
Calculating the value of the stack according to amounts of ingredients used instead of a per-ingredient value calculation for the "base meal" (applied to each item in the stack) cuts prepared meals' value radically, because the "per-meal" value is no longer a sum total of adjusted values per ingredient and taking the individual ingredient amounts into account strongly reduces the effect of low-volume high-value ingredients. The same holds for stretching the "meal item" 10xquality value over the whole stack instead of applying it to every single meal.
The food-burning suggestion would result in 11 or 12 (depending on the rounding rules used) meals at a value of still 180 each, resulting in a value of 1980 or 2160; quartering the number of meals per stack obviously quarters the overall value generated, but it's still about thrice the result of my "food stack as a single item" value calculation.
In short, i think what makes prepared meals so unreasonable now is that their value is calculated for each base meal, guaranteeing disproportional per-meal and ludicrous stack values; treating the entire meal stack as the single product of the job and reflecting that in the value calculation would make produced value still significant but put it in a much evener proportion to value fed into it.
Edited to clarify and fix an embarrassing maths error.