One thing I'd like to suggest, over dwarfs getting their magic from food-fests, is that instead, perhaps they could draw power from their fortresses directly.
The way I think this could work would be to allow engravers to set gems and precious metals into their engraved walls, as Runes, and then dwarf magic would draw power from those Runes, causing them to vanish as their power was used up, and the entire wall to go back to it's natural, rough state.
That keeps dwarf magic thematic to both the nature of the game, and to dwarfs, since they would gain magical power from their Dwarf Fortress, and directly from a fairly labour-intensive, "dwarfish" activity. Dwarfs are known for working hard, and working with stone, precious items, and runes, a lot more than they are for eating too much.
Maybe hobbit magic might work from overeating?
In any case, basing it off of these runes gives greater motivation for *why* dwarfs dig in the ground, why they mine for gold and gems, why they engrave their walls, etc.
By forcing them to go through the entire process of smoothing the wall, engraving (with runes, instead of pictograms), and then setting those runes with cut gems, gold, adamantium, etc, it puts a strong limit on how disruptive magic can be, while allowing you to "build up" magic over time, to be used when you need it.
Another effect of this idea would be the many effects, with each separate effect tied to a different type of gem or precious metal, therefore requiring you to hunt down, mine, and process, a specific item to use in the spell.
It also makes engravers a lot more important, but keeps "normal" engraving an important separate activity, since rune-scribing would be a 'once in a while' activity, while pictograms would still lighten dwarf moods, and detail the history of the fortress.
I still would rather see magic as being an effect mostly outside of dwarfs' direct influence, but I think the above idea might be interesting enough, and limiting enough, that magic wouldn't end up breaking the game.