You'll probably want to set a breakpoint that triggers when the vitality memory is read, so you can see what bits of assembly code access it. Ideally there'd be some code that looks like
if (some value compares to vitality):
increase vitality
Then you'd be able to figure out a) what the comparison operator is, and b) what that "some value" is, and possibly where it comes from.
However, it's entirely possible that the rule for gaining vitality is something simple like "if you lose a lot of HP and a random number is passed, then gain vitality". In other words, the vitality number might not be used directly in a comparison anywhere. This would be somewhat consistent with other behaviors in FF2 -- for example, Agility isn't looked at directly for determining agility gains; the game only cares about your evasion score.
So you'd probably be best off setting a breakpoint on when the vitality value is
modified, and then trace backwards from there to try to figure out what the rules for modifying it are.