Registers

Wire.end (); // does this command exist?

no,

think you can solve it this way (it won't interfere with Wire as far as I can see)

void wakeSensor () 
{
  int pm = getPinMode(sensorWakePin); // not existing -> see below
  pinMode (sensorWakePin, OUTPUT);
  digitalWrite (sensorWakePin, LOW);
  delay (1);
  digitalWrite (sensorWakePin, HIGH);
  delay (1);
  pinMode (sensorWakePin, pm);
}
int getPinMode(uint8_t pin)
{
  uint8_t bit = digitalPinToBitMask(pin);
  uint8_t port = digitalPinToPort(pin);
  volatile uint8_t *reg, *out;

  if (port == NOT_A_PIN) return -1;

  // JWS: can I let the optimizer do this?
  reg = portModeRegister(port);
  out = portOutputRegister(port);

  if ((~*reg & bit) == bit) // INPUT OR PULLUP
  {
    if ((~*out & bit)  == bit) return INPUT;
    else return INPUT_PULLUP;
  }
  return OUTPUT;
}