While I'm on a roll, why not make things even more messy by including some of the nutrition suggestions in the game, as well.
To add another reason not to simply let dwarves eat raw meat, the game could put food into different nutritional categories, and encourage a balance of these categories through reducing the hunger-reducing value of a given type of food the more that the given type of food you are about to eat has already been a part of your diet.
To make a nice, arbitrariy round number, instead of that 875,000,000 number in the last post, we could have a starting value of 1,000,000,000 hunger divided by the mass of the eater, provided they have a 0 value for nutrition from one food group. This 1,000,000,000 would be subtracted by the value in the variable (probably once it has been multiplied by 1,000 or 10,000) for the food group, so that, if we want an average of 875,000,000, then that value should normalize at around 1,250 (assuming we are multiplying by 10,000, so that it would be 1,000,000,000 - 125,000,000 = 875,000,000). (Sorry for the superfluous math, but I realize this is complex, and want to make sure that people can follow.)
(This food group variable is a integer, since for programming purposes, that would be somewhat easier on the system than a floating point decimal. Because I'm multiplying it and dividing it around, it needs to be a largish integer, since there is no precision below the ones digit. Hence, the next part, where eating one unit of food pushes you up a few hundred points in a food group.)
The value for each given food group could go up by a variable amount each time that the dwarf eats food from that group. (Let's say for right now, just for round number's sake, this variable, which I will call "A", is 1,000. So every time you eat meat, the meat food group variable goes up 1,000, and meat will give you 100,000,000 less hunger reduction per unit mass your creature weighs.)
At the same time, after you eat, so that food starts to give you more nutrition back, all the food group variables would need to be reduced. (Theoretically, this would happen gradually, as your body uses up the nutrients in the food you have eaten, but if this only applies when we are actually eating, then we can save some processor power by making these calculations only take place when the dwarf is going through the eating process.) The exact weights of every variable depend on the number of foods we are throwing around to be balanced. However, I can make a little formula:
Food_Group_Variable = (Food_Group_Variable + A (if this is the food group eaten, if not, this is 0)) * B - C;
Where Food_Group_Variable is the amount that the food's nutrition will be reduced (once multiplied), and B is a fraction/percentage (may actually just be a whole number that is subsequently divided by 100 so that there are only integers in the function), and where C is a flat value subtracted every round of eating from the Food_Group_Variable.
B is needed so that this doesn't simply become a process where you just eat one food in a cycle going around the food groups. Eventually, you would be able to more-or-less get by on having missed some food groups more than others. C is needed so that the values will eventually start to reach 0 again.
As nutrition from certain food groups reaches 0, negative symptoms or other effects might also be applied to dwarves, making them slower, and more vulnerable to disease or injury.
Keep in mind that the different food groups do not need to use the same variables A, B, and C. A (the drop in nutrition) might be larger for things like meat, but lower for things like vegetables or fruits food groups.
This whole complex mess could be used as part of a means of encouraging prepared foods of higher quality, which, by mixing food groups, could potentially help balance nutrition a little better. (You might even have a Chief Nutritionalist dwarf!) These prepared meals could split the "A" part that is added into different food groups, as well as encourage greater overall happiness in dwarves.
EDIT: I somehow get the feeling I just scared everyone out of the water.