Somme points at suggested patch:
1) I agree that have some wrapper for int64+int32 bit field (or at least for field access) can be useful and link really connected field in single object.
2) BUT for me totally look wrong use bit pos: (a) this just create additional problems for devs because most often steps in work with masks/bitpos is recheck it in spell.dbc and most dbc viewers let easy visually compare hex/bit view. In fact same spell can have many bits set for different purposes, and mask store not spell info but for selection some spells list (often not ranks of same spell)
3) use enums for mask can be useful or maybe not. Currently we use comments for mask using line for referecne what spell we check in line. In comment mostly referecne _exactly_ spell name that can be easy copied to clipboard for later search by web or spell.dbc or code.. enum will not let do it easy, one more problem for devs.