I'm looking at the WS2812B LEDs and I've noticed that it is possible to control the LEDs by an external library (https://learn.adafruit.com/neopixels-on-raspberry-pi/software). But, this only drives a single one meter strip. But, is it even possible generate multiple PWM signals using an IO Expander and address the PWM to certain ports of the IO Expander? If not, why?
That depends on the model of Pi you have.
The Pi's PWM peripheral is used to generate the proprietary signals needed by the WS2812 (which are NOT PWM). The peripheral has two channels so if your Pi has gpios which can be connected to the two channels you could drive more than one strip.
The gpios you need are 12, 13, 18, or 19. Gpios 12/18 are channel 0, 13/19 are channel 1.
Actually the strips may be chainable (some are, you need to check) in which case you could control several strips from the same gpio.
You cannot convert any IO pin to a PWM pin.
You can definitely use another Integrated Circuit to get 16 PWM channels.
Take a look at NXP PCA9685 16-channel, 12-bit PWM Fm+ I2C-bus LED controller.
From the description: "The PCA9685 is an I²C-bus controlled 16-channel LED controller optimized for LCD Red/Green/Blue/Amber (RGBA) color backlighting applications. Each LED output has its own 12-bit resolution (4096 steps) fixed frequency individual PWM controller that operates at a programmable frequency from a typical of 40 Hz to 1000 Hz with a duty cycle that is adjustable from 0 % to 100 % to allow the LED to be set to a specific brightness value. All outputs are set to the same PWM frequency."
If you are not interested in designing your own, you can look at this product from adafruit.
Hope that this fits your needs.