I painted my excavator when i bought it, and i did hours of cleanup and prep before I layed primer. The grease and oil that had been on the metal for so long from the pins and bushings took forever to get "clean". I thought it was fine to prime, but 2 weeks after i painted it, the area's where oil and grease would leak from hoses and pins was cracking. So to me, spend the most time cleaning the surface, and if you get all the contaminents off the surface, most paint's will give you a good result for a long time.
Goto ur local paint shop, and ask for a good priced primer/filler and i'm sure they'll have somthing to match your top coat paint.