I'm telling you with 110% certainly that the PCM is not the issue here, this sounds like a faulty tach issue or your scanner is giving you false data, neither of which will be fixed by replacing the PCM.
Let me walk you through how this all works, as the engine spins the PCM reads the crank position sensor and the cam position sensor. This sensor data tells the PCM how fast the engine is spinning and when to fire the injectors and the ignition coil. The software in the PCM processes this data and streams it out over OBD2 which gives you the data you're reading on your scanner. Then the PCM sends a pulse for every time it fires the coil on a pin out of the PCM which is read by the Tach. It's impossible for the engine to spin faster than what the PCM is telling you and have it still run because the spark and the injection events would be happening at the wrong times, it's also impossible for the PCM to be triggering the tach output pin any faster than what it's driving the coil.
Also even if the tach is reading 10,000 rpms at idle, that shouldn't effect the smog test and if your smog guy is failing you for a faulty tach, please let me know who he is, so I can report him to the B.A.R. and have his smog license revoked.