I2C Communication with the ICM-20789
There are four things wrong with your code.


You are not sending the "start measurement" command properly. The Wire.write() function can only send 8 bits, but you are passing it a 16-bit value. Instead you should break it apart into 2 separate 8-bit values:

Wire.beginTransmission(0x63);
Wire.write(0x78);
Wire.write(0x66);
Wire.endTransmission();
The data returned is spread over 9 bytes, not 16.  According to the datasheet:



  Temperature data is transmitted in two 8-bit words and pressure data is
  transmitted in four 8-bit words. 


and:


  Two bytes of data are always followed by one byte CRC checksum


That's 2 + 4 = 6 + (6/2) = 9


You aren't waiting for the conversion to complete. According to the datasheet, in "ultra low noise" mode (0x7866) it takes up to 94.5ms to perform the measurement.  So you should add a delay of slightly more than that to allow it to do what it needs to do.
The command you are sending responds with temperature first, not pressure, but you are reading pressure first (and reading the wrong bytes anyway).


In all, your code should look more like:

Wire.beginTransmission(0x63);      
Wire.write(0x78);     
Wire.write(0x66);     
Wire.endTransmission();

delay(100);

Wire.requestFrom(0x63, 9);
uint8_t tmsb = Wire.read(); // Temperature highest byte
uint8_t tlsb = Wire.read(); // Temperature lowest byte
Wire.read();

uint8_t pmmsb = Wire.read(); // Highest pressure byte
uint8_t pmlsb = Wire.read(); // Next highest pressure byte
Wire.read(); // Discard checksum
uint8_t plmsb = Wire.read(); // Next lowest pressure byte
uint8_t pllsb = Wire.read(); // Lowest pressure byte
Wire.read(); // Discard checksum

pressure = (pmmsb &lt;&lt; 24) | (pmlsb &lt;&lt; 16) | (plmsb &lt;&lt; 8) | pllsb;
temp_2   = (tmsb &lt;&lt; 8) | (plsb &lt;&lt; 8);