Yeah, the original cafeteria idea is rather silly, but taverns could be interesting. Some things i would suggest:
Eatting from the food stockpile is essentially like eatting trail rations. After a certain point (say, once you have a Mayor), dwarves start getting unhappy thoughts for eatting stockpile food, or get the "Tired of the same food/booze" thought faster.
Taverns must be declared with a kitchen (this would require the ability to do multi-room designations, rather than a designation being instantly blocked by a door). Food from the tavern's kitchen has a certain amount of time for which it's considered a "Hot Meal" which can (and must) be served at the tavern. After that time, it is considered stockpile food and hauled off accordingly.
Having a hot meal at the tavern provides a minor mood boost (in addition to normal benefits of the food and drink). There could also be mood benfits if, say, a favorite barkeep or waitress served the food.
Food and drink are consumed at the same time, resetting timers accordingly (this could actually end up increasing food consumption, since I believe drinks are consumed twice as often as food).
Cooks get happy thoughts from patrons getting happy thoughts about the food. Maybe something similar for the barkeep.
Patrons get unhappy thoughts about any vermin, not just the ones they particularly dislike, while in the tavern.
Just some ideas.