Yep, this is a trickier situation. MUSHclient can't automatically deal with variable-line triggers, but your first example is two lines, and the second is one.
But let me ask you this. At the point where you get "You eat some food", how do you know what's coming next? You can't tell if that's all there was, or if there's still more coming (perhaps due to network latency). If you only got "You eat some food", you can't assume that's all there is.
Now, I assume your MUD has a prompt line that comes after pretty much everything. That means we have something a bit more like this:
You eat some food.
You are full.
100h 100m >
or
You eat some food.
100h 100m >
Now, this is what I would do: I would have one trigger for each of these lines. (Be sure to set "Keep evaluating", or other triggers won't be able to match the prompt.) Only the first is enabled to begin with. When it matches, it enables the other two. Next, if we get "You are full.", we set a variable to true. Lets call it is_full.
Notice that the fullness trigger doesn't actually do anything yet. We wait until the prompt trigger to do that:
if is_full then
-- do stuff for being full
is_full = false -- reset is_full for next time!
end
-- do more stuff whether we're full or not
EnableGroup("this_group_here", false) -- disable the triggers again
With this approach, by the way, you don't use multiline triggers. I call this technique a "gate" or a "guard", because you have to match one trigger before you can match another. It's a more general solution than multiline triggers: anything that can be done with a multiline can also be done with gates (and more besides).
[EDIT]: Lots of little fixes and additions to this post.