What paint to use for engine bay?

To do the job properly everything has to has to be removed from the firewall, fenders and core support, the steering box, master cyl, brake lines, wiring harness, etc... Dont let a bodyshop try and talk you into just taping everything, you wont be happy with the results. Media blasting will remove the paint and blow off most of the grease and grime but it will still need a really good wipe down to get any leftover oils, use mineral spirits on a rag (it's cheap) followed up by prep-all or lacquer thinner. Peeling paint is usually a direct result of poor prep work or mixing incompatible materials. There isn't enough heat under the hood to affect automotive style paint so don't worry about that.

As for the type/brand of paint and primer to use let your painter use whatever brand they are most familiar with. Use the same paint under the hood that you are going to use on the rest of the car that way there won't be any variation in color.

It's hard to paint an engine bay without getting runs and drips because of the all the irregular surfaces, most factory paint jobs are horrendous under the hood, but by the time you put the engine back in and put everything else back where it belongs any little imperfections usually disappear. A base/clear paint job is easier to fix if the painter gets a run or two, single stage w/metallic usually has to be repainted if there are major runs.