Using pin12 on the WiFi shield makes it not connect to network

Can I use a shift register for pin 12 as well, to keep the barometric sensor from interfering with the WiFi shield?

No.

That sensor is an SPI device, like the WiFi shield. You can use multiple SPI devices on the Arduino, simultaneously, as long as each one has a separate chip/slave select pin. You can connect the sensors chip select pin to any unused pin, and set that pin LOW to activate the sensor and HIGH to deactivate it.

After some reverse engineering of the code and reading up on the SPI interface, it seems that pin 12 (and 10+11+13) are reserved for communication between the arduino uno and the WiFi shield. Does this mean I cannot use them for anything else? I can also see that pin 7 is used for handshake and pin 4 is used for the SD card. Can it be that the WiFi shield occupies half of my digital pins?

6 of 20 is not quite half. The analog pins can be used as digital pins, too.