2's complement is the normal signed values in any modern system, including Arduino.
Just place the bytes into a signed variable of the right size in the right positions and there is your value.
In I2C, to read a register, you typically have to make two transactions. The first is a write to set the register number you want to access, the you follow that with a read transaction to get the data.