He has just had lunch.
Il vient de déjeuner. — He has just had lunch. Then how do you say "He is coming for lunch"
yes, it is correct.
You don't need "le". It suggests he only comes because of the lunch. He doesn't care for the event, but he'll show up anyway because he wants to eat the lunch. ;-)
"Il vient dejeuner" and "Il va venir dejeuner"
and some examples:
"Il vient dejeuner demain"
"Il va dejeuner avec nous aujourd'hui"
(In the last example, I left out the word 'venir' because the sentence makes it clear he is having lunch with us, so clearly he is coming, and 'vient' is superfluous).