My vote is fuel pump. Since you have the pump code, here's my theory: FP is on its way out, so your fuel pressure is low. The pressure is lower than it is supposed to be, so the PCM is adding fuel trim (opening injectors longer) to compensate. Once the long term fuel trims get large enough, the PCM will throw those O2 codes you have.
But, before you go and replace the pump, I'd check the fuel pressure first.