Bad o2's can cause it to smoke. They could be dumping in more fuel. The scanner is even saying bad o2's, so try not to look father into it than what it is. Change the o2's, maybe it's time anyway. They dont last forever. There could be a different sensor as well causing it to run rich and dump fuel causing the o2's to foul as well. An example would be having an injector stuck open, causing it to dump fuel, fouling o2's. Your maf sensor could cause it as well. Like the wires being dirty or the famous K&N oil all over it.
Joey7489, the o2's have alot to do with how much fuel is used. The engine can't determine how much fuel it needs without sensors, and there is quite a few. If the sensors are fouled it can make it run rich. If the o2's are seeing the car go lean, they will dump fuel to compensate and vice versa. Sometimes it doesnt throw a code right away. Almost every tuner uses a wide band o2 to tune. Thats because our narrow band o2's suck. The wide bands are way more accurate when it comes to tuning for fuel issues. Especially at wot.
Blank, you could go with the Bosche 13111's. If you have headers or plan to get headers, they would be a good investment. They have longer wires, so no extensions needed for headers. They also have a higher heater wattage, which helps because on almost all headers the o2's are father down stream. So they get the extra heat they need. You can use them with the stock mainfolds.
You probably would get a more accurate answer if you posted this in the pcm diagnostics and tuning section.