That CRAZED idea has a number of holes in it - most importantly, CRAZED citizens will never eat. Also you cannot control them in any way. They are basically berserk.
Also, syndromes won't stack - if a creature eats a food that has a syndrome they already have, it will have no effect and the syndrome counter will not reset.
There are workarounds, but they are complicated. I would suggest the following:
1. Make a self-targeting interaction to 'get hungry', and give it a long cooldown time (3 months or so). Give this interaction the tag CANNOT_TARGET_IF_SYNDROME_CLASS:ATE_MEAT. This interaction waits until nearly the end of the cooldown period (give the syndrome a late START tag), then gives a syndrome that lasts a very short amount of time (until the end of the cooldown period) and grants the ability to use the interaction 'get hungrier'.
2. Make an interaction 'get hungrier' that gnolls do NOT originally have. This interaction can also not target if the gnoll has the syndrome tag ATE_MEAT. This interaction, like the previous, waits a while (say, a month or two) and then gives a syndrome that grants a THIRD interaction for a short amount of time (like, a day), 'go crazy'.
3. Make the 'go crazy' interaction, which ALSO cannot target if the gnoll has the syndrome tag ATE_MEAT, and causes temporary addition of the CRAZED token.
4. Give meat a syndrome with the class ATE_MEAT that lasts some multiple of 3 months. It takes 3 months for a creature to get hungry, so this should hopefully ensure that they never eat while the ATE_MEAT syndrome is already active.
You may have to adjust the cooldown and syndrome timing to get the gameplay result you want. The point is that, although a gnoll may, if you are unlucky, happen to reach the point where they can use the interaction 'get hungrier' at the same moment they are missing the ATE_MEAT syndrome, they will never have the opportunity to use all three interactions in a row before eating meat at least once, thereby halting the advancing hunger process. For testing purposes, you may want to make gnolls flash with different symbols depending on their hunger level.
Of course, you could just give them the CARNIVORE tag... but I'm guessing you don't want to do that?
Using DFHack would require you to become a programmer, yes.