You'all are both wrong.
No, a sticky valve will not always throw a code. Go buy a can of 44K. It is a fuel injector cleaner made by B&G. Usually only dealers and higher end auto repair shops carry it. It sounds like your injectors are dirty and could use a good once through. Put it in and drive like a bat out of hell to clean them up.
Also, if you saw a big dip in gas mileage, it could be your O2 sensors going out. They will not throw a code until they have gone out completely or are a split second away from it. If they are on their way out, they will effect the mixture of gas and air. But if you don't notice a huge decrease in mileage, it's not them.
Also...hehehe...a cheaper fix is to take off the entire cat back system and weld in a glass pack. You will still pass smog. If I can pass Kalifornia smog with one, you should be able to pass smog in any state in the union.
Cost of glass pack: $20.00
Cost of weld: $5.00
Cost of giving the dealer the finger: priceless