My light flickers too. It only does it when the engine is warming up. The temperature gauge reaches a certain point, the light dances for me, and then it's gone. I think it happens at the closed loop / open loop transition point. Anyway, I've got latent O2 sensor codes for both of them, but never any current codes. I've been unable to clear the codes, but since the problem only happens for a few seconds, I'm not worried about it.
The bad mileage is normal.