Filling a small container with a little taste of grain always works. You can shake is around and the sound of the grain brings the horse to you.
Treats and hiding the halter may help you catch him when you need to. If you can, it might help for you to catch him sometimes and just feed him, walk him in-hand, or even just let him go right after you catch him. That way, he might not be so convinced that you're going to make him work every time you want to catch him.
Also make sure to wait to give them a treat AFTER you put the halter on. But you can use it to entice them. That way they learn to associate the treat with putting on the halter.
My new-ish mare is nearly impossible to catch. I have to hide the halter behind my back and have her favourite treat (carrots) on hand. She's slowly becoming easier to catch now
Hide the halter behind your back? Or do you call him with a treat in your hand?