I've got some ideas about dwarven psychology that you might be interested in, or that at least could job your mind into coming up with new ideas that you like. I've done plenty of this sort of thing; I design table-top roleplaying games, and I nearly always put *some* kind of psychological or emotional mechanics into it. One of them centers around psychology rather intensely, and got the glowing recommendation from a guy with a Master's in psych that it was "the most elegant model for human behavior I've ever seen in a roleplaying game." All of which is to say, y'know, just hear me out.
As you've said, the whole happy vs. unhappy thing is pretty weak sauce. It's also way too easy to control. Although I've had two unhappy dwarves, I've yet to see a tantrum. I'm not even trying to game the system, either; I just like having a lot of decorations and furniture around, and it only made sense to have a giant dining room with a huge table.
What you could do is have a few different classes of psychological "hits" that affect a dwarf, then check on his mental and personality traits to see how he reacts. He might be able to take it in stride or at least suppress a reaction, or else he reacts in some way. His reaction would be chosen from a list of possible reactions of varying severity, based on his personality and a random element. Successfully resisted "hits" could accumulate and make resisting future hits of the same class harder. Each hit would also be recorded in the dwarf's thoughts until he got over it. Getting over it could be accelerated by pleasant things of an opposite variety.
Here's some things that came to mind:
FRUSTRATION: a Frustration hit happens when a dwarf has to drink nasty water for too long, or when he has to sleep without a bed for too long, or when he has to do a kind of work he doesn't like, or, y'know, when somebody else has eaten all the goat cheese AGAIN.
Possible reactions include breaking/throwing things, violently lashing out at someone, cussing someone out, lodging a formal complaint with the mayor to make things better OR ELSE, refusing to work, or possibly some passive-aggressive stuff like hiding important things (which would lead to more Frustration for someone else: "Darnit, where did all my socks go?")
Frustration would be reduced by doing work that the dwarf enjoyed, or by various creature comforts (nice digs, partying, a good dining experience, or even just admiring nice things), or by getting to do some violence through soldiering or hunting. (Soldiers who are on duty for too long without getting to cut something would also be taking Frustration hits.)
GRIEF: a Grief hit happens when a dwarf loses someone he's got a relationship with. The closer the relationship, the lower the chance of successfully resisting it.
Grief could lead to temporary or long-term depression (both with a severity ranging from reduced effectiveness to total catatonia), or suicide, or could be sublimated into vengeance -- like, y'know, he grabs the nearest weapon and goes marching off after the alligator that ate his baby (even if he's no good at fighting). Or maybe the dwarf even goes all Medea, making the slide from grief to murderous spite.
Grief would be reduced by receiving comfort or consolation from relationships. If you get religions implemented, having regular temple services would be a good way to keep Grief in check, especially for loner dwarves that don't make any friends and don't have any pets.
GREED: Dwarves without greed just ain't dwarves, if'n you ask me. A dwarf takes a Greed hit when he sees something nice that belongs to someone else. The nicer the thing, the greater the intensity of the Greed.
Possible reactions could include stealing the item, or maybe just spitefully destroying it ("If I can't have Mindfulfinds, the Mule Leather Low Boot, then NO ONE CAN!"). Or maybe you just demand higher wages or a better dining room.
Greed would be reduced by admiring your own fine possessions, and by receiving your wages.
STRESS: Stress hits happen from being in danger or other stressful situations. Non-soldiers suffer Stress from being attacked. Even soldiers could suffer stress from being outnumbered or seeing their comrades go down in a heap of body parts. Parents suffer Stress if they lose track of their babies. And other stuff, like nearly getting caught in a flood or cave in.
Possible reactions include jarred nerves that impair your effectiveness for a while, or going into hysterics and doing something you'll regret, or having a nervous breakdown that leaves you bedridden for months.
I'm not sure what makes Stress go down. Probably just time, but at a faster rate than the other types.
HORROR: Horror hits happen when you see something horrifying, like an undead or a forgotten beast (titans should probably cause Stress though), or witnessing a dwarf murder another dwarf. Or even, maybe to a lesser extent, looking at a macabre artifact or seeing a type of vermin that you're particularly freaked out by.
Horror could produce panic (ranging from the run-screaming variety to the stand-and-drool variety), brief reactive psychosis, or long-term insanity.
Horror should almost certainly only go down over time, and *slowly*. It's not something you get over easily. Luckily, it shouldn't be common either, unless your site is haunted.
So, by this schema, you would check a dwarf's thoughts and see, "He has been frustrated about the lack of goat cheese lately. He has nightmares after being horrified by a zombie. He has sworn vengeance against Urist McMurder for murdering his wife." That would rock on toast. Especially if, like, Urist McMurder had already been arrested and put in the dungeon, and the vengeance dwarf came down there and stabbed him to death while he was caged.