This should just be a matter of copying the code that handles "-type" or similar (with new params.fp_mode and params.fp_mode_sign fields), and then modifying it to compare the mode. The tricky part is getting the semantics correct with +/-mode, and converting symbolic modes to octal (the find(1) man page goes into depth on this issue). Starting with only "[+-]octal" may be enough for initial usefulness. The OSX find(1) man page summarizes the desired semantics nicely:
If the mode is preceded by a dash ('-'), this primary evaluates to true if at least all of the bits in the mode are set in the file's mode bits. If the mode is preceded by a plus ('+'), this primary evaluates to true if any of the bits in the mode are set in the file's mode bits. Otherwise, this primary evaluates to true if the bits in the mode exactly match the file's mode bits.
This appears to equate to st_mode & fp_mode == fp_mode and st_mode & fp_mode != 0 for '-' and '+' respectively.
Newer versions of find also accept the '/' modifier as equivalent to the '+' modifier, since it avoids ambiguity with symbolic mode parsing.
Landed for 2.15. Congratulations courrier