The first thing you should do is change your fuel filter. I had a similar problem with my ZX5 and this was the issue as it had not been changed since coming off the line. If that has recently been done then move on to the next step.
You might want to check out your Throttle Body Position
Sensor (TPS). It sounds like you have a voltage leak somewhere through this
circuit. These can generally be checked out with a digital multi-meter and some
patience. Alternatively it could be the Idle Air Valve (IAV), usually close to
the throttle body-looks like a silver or black tube with an electrical prong on
it, giving you some intermittent problems. Sometimes taking this off (be sure
to get a new gasket if you do) and spraying some good throttle body cleaner
into these can get them to working again, but if that fails you will need a
replacement. Sometimes these things won't even throw a code, happened in my
2000 ZX2 zetec motor-which is a similar, able it not identical, setup to the 02
Zetec, so it can be a pain manually diagnosing.
Personally, I would start with
the TPS and check the voltage readings throughout the range. Essentially this
thing acts as a variable resistor depending on how wide the throttle is open.
This then tells the PCM how much fuel air mix is entering the engine and other important
variable such as timing shifting etc. also depend on this information. You can usually
get specs from AutoZone . The voltage should increase smoothly as the throttle
butterfly is opened. Some are between 0-5 V while others are between 0-12 V.
If it's your IAV then you will probably have a sensation of constantly varying
idle, almost as if the rpm needle is bouncing up and down between ~450-750 rpm.
This is generally pretty obvious, but sometimes it's an intermittent problem so
you won't always experience it. I have seen some really oil/debris clogged ones
that will only start acting up once the engine warms up, probably b/c it starts
to heat sink the electrical connections.