While older versions may be cheaper or available online, it is best to use the version of the code listed in the test specifications. It may seem expensive up front, but think about how you will feel and how much it will cost if you fail by 1 question because code requirements change and you solve the problem based on an outdated code.
The one you may be able to get away with using an older version of is the CERM. For the most part much of the material will probably be the same. However, the newer versions may be organized in different order and same topics may be added/removed from the book based on the revisions to test specifications. If you are taking an online review course, you may not even use the CERM a whole bunch during the exam. Personally, I took EET review course and I used their reference book as my main source during the actual exam.