MPU-6050 doubt in playgroud code Arduino.cc

I am studying the MPU-6050 and saw this article. I'm wondering in two lines of code.

http://playground.arduino.cc/Main/MPU-6050

This line from what I understand the shield guard reading the last value in this register and the source code is asking these values. That's right?

Wire.requestFrom(MPU,14,true);
This code I understood that he reads the values, but because moving bits to the left?

AcX=Wire.read()<<8|Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)

This code I understood that he reads the values, but because moving bits to the left?

That makes a 16-bit integer out of two bytes. What's so special about that?