Getting dwarves happy should be "hard" in that if you are limited by the game, you might not be able to do it. Sieges, famines, nobles, all these things can make dwarves unhappy.
Well, I like to compare what we have now to the system in the Sierra City-Building games, where houses upgraded
based upon a set of fulfilled needs. The first few needs are water and food, but then, you soon need to have fountain water delivery systems, rather than simply being located near-ish a well. A mid-tier house could get by with access to either a physician or a mortuary, but a high-tier house needs both. Higher-tier housing requires access to more varieties of food, more varieties of entertainment, more different houses of worship, and requires greater "desirability", which is impacted by city layout, (being near smoke-belching industry devalues property,) the quality of nearby housing, and placement of gardens or statues to improve the aesthetics of the address. In Emperor, the China-themed one that came last, salt was a "food" that counted as an additional food variety when added to food, but couldn't be eaten on its own. (That is, if you have fish, rice, and salt, you have "three food varieties", but zero food varieties with salt, alone.) The most you could have in one granary was four types of food plus salt, so salt was mandatory for the best food variety (and therefore, the highest-class citizenry). Since you had a distinction between upper classes (massive tax base) and lower classes (the only people who worked industries), you could also purposefully segregate your food supply if certain types of food were scarce. (You might have salt mines, vegetables, rice, and beef in abundance, but wheat has to be imported, so noodles are reserved for the upper classes.)
The preferences we've had in the past has always basically been a placeholder put in as a lead-up to a more sophisticated simulation of dwarven emotions and desires. They just like nickle and limestone and star sapphires and cups and doors and pond turtle meat and strawberry wine and cows for their haunting moos and despise cave lobster. No rhyme no reason, just draw one item out of a hat for each type of thing. That sort of system is never going to produce the sort of sane set of (real) human-like desires such as really wanting a dimple-dye-blue cotton dress because they're the fashion statement of the season. That's partly what I went into the whole notion of Class Warfare to fix, to set up a system where dwarves start desiring luxury goods as status symbols.
Basically, I'm not that fond of the notion of a favorite food to start with, and think the whole system being rewritten from the ground up would be a good start. I'd like to see something like dwarves demanding different amounts of variety based upon their hedonism or adventureousness personality scores, like PatrikLundell is saying, and I think you can't really start talking about a dwarven gourmand that wants to try out every form of red meat to see which one is really his favorite until you can code into the game which meat is red meat, much less the difference between a guy who likes kangaroo meat because he's tried them all, and he thinks it has the right hint of gameness versus a dwarf who just was born liking kangaroo meat.
I again have to think the better way of doing this is the somewhat more complex way of setting up "flavor profiles", and having dwarves with more than one preferred target flavor. That way, you can have a dwarf who's "all plump helmets all the time", and one whose comfort zone is beef, eggs, chicken, and dwarven syrup, and doesn't like going outside that, but wouldn't mind having to live on just two of those four. Another more adventurous dwarf might ask for a new flavor every day, at least, to the limits of how much memory the game will devote to it. (Maybe cycling back every month wouldn't be so bad.)
I'd also like to see, in Class Warfare style, the notion of "fashionable" foods. Different foods in real life have different social meanings associated with them. To this day, humans tend to consider meat to be a "centerpiece" of a meal, and meat-eating is a social event to be shared with family, while fruit is more of a "snack" food that can be eaten alone. This dates back to hunter-gatherer times, when small hauls of foraged food could be eaten alone, but bringing down a deer meant not only sharing the kill, but also basking in the glory of having provided for the clan.
Red meat in particular also carries the notion of being a "manly food". Just look at any Hardee's commercial, or those crazy Japanese burgers where they make Big Macs with 12 hamburger patties. They market these exclusively to men as "manly foods" because "real men eat beef with bacon on top". Spicy foods often are advertised in a similar fashion - eating something spicy is portrayed as a test of manliness. By comparison, I remember Wendy's unveiling its new Summer menu by having thin late-teen women with immaculate hair come up to the counter going "I think I'll have the pita" while talking about getting into shape for swimsuit season... (To say nothing of Coca-Cola's "we are old-time Americana" versus Pepsi's perpetual "we are the hip new generation" ad wars.) These aren't individual born-with-this-desire-for-red-panda-meat concepts where everyone's a totally unique snowflake, these are cultural pressures telling people what they should think when they eat certain things.
Black tea, after all, is not native to England, but it became a mandatory part of entering the burgeoning British middle class for a reason. Tea was not just a drink, it was a social event, and it also involved showing off your tea set, which would of course be silver or porcelain and show off how you'd climbed far enough up the social ladder to be able to afford something so expensive.