The reason things like elements and status effects were 2 bytes each was for the possibility of percentages or actual values. I know that early FF only uses flags for these:
weak->none->nullify->absorb (1 byte for these would still be better than 4bits though)
I just figured one extra byte gives you the option of more modern things like:
[fire infuse - spell that buffs a character's fire element]
-fire atk : +25%
-water def : -25%
or something...
It is tricky though, because to perfectly emulate the early FF games flags are actually better I think.
It's also possible to make all the stats, etc.. dynamic or variable sized. (all types must share the same amount in the game though). This has only an overhead of 48 bytes (I think) (or 96 if compiled on x64bit). [edit]per-item overhead that is what I meant./
This is why I made the attributes stuff templated in the beginning - so it could be easily changed later on. I'm open to suggestions.