You don't get characters, you get bytes. Just send the value 0x44 and request two bytes. The first byte received is the lower byte of the direction integer, the second is the higher part:
Wire.beginTransmission(1); // talk to I2C device ID 1
Wire.write(0x44); // direction register
Wire.endTransmission(); // end transmission
Wire.requestFrom(1, 2); // Request 2 bytes from ID 1
while (Wire.available() < 2);
uint16_t lb = Wire.read();
uint16_t val = Wire.read();
val <<= 8;
val |= lb;
Serial.println(val);