I've asked this question before and was told that an etching primer with enamel color would work. I had asked about having the engine powder coated and was told that the heat required to powder coat would be too high for the engine.
Don't know if this is right or not but the guy that told me is a well known performance engine builder so I am have followed his advice. It's too early for me to tell if he was right but I hope so.
You can use arcryilic enamal or urathane with good results. Base coat clear coat paints work also. With the exception of high temp paints they will all burn around exhaust ports. The main thing is to have whatever you are painting clean. you want the outside of your engine as clean as the body of your car if you were painting it. Remember paint will not stick to oil.
Plasti-kote,it is engine enamel specifically designed for painting engines.I buy it from a local warehouse here in Chicago.I have been using it for years,and it is definately the best and easiest to use in a spray can.I have also had Immeron (not sure on the spelling)made up by an industrial paint supplier so I can run it through my spray gun,this also works great(more time consuming and expensive).Any of the engine parts needing paint can be powder coated;however,this is done to the parts individually prior to any machine work.I have Harley heads powder coated on a regular basis,and the heat from powder coating does not warp them(they are aluminum).
i'm suprised no one has mentioned to you the product called por-15 they make a kit just for painting engines engine enamel available in 19 colors. find them at <a href="http://www.por15.com" target="_blank">www.por15.com</a> or 1-800-457-6715 and a nice company to deal with and you know what a stickler i am for that!!