FCEUX now finally has readword, best for 2-byte positions, even if bytes are not near each other.
memory.readword(int addressLow, [int addressHigh])
memory.readwordunsigned(int addressLow, [int addressHigh])
Get an unsigned word from the RAM at the given address. Returns a 16-bit value regardless of emulator. The value will always be positive.
If you only provide a single parameter (addressLow), the function treats it as address of little-endian word. if you provide two parameters, the function reads the low byte from addressLow and the high byte from addressHigh, so you can use it in games which like to store their variables in separate form (a lot of NES games do).
memory.readwordsigned(int addressLow, [int addressHigh])
The same as above, except the returned value is signed, i.e. its most significant bit will serve as the sign.