For us, now that my kids are the ages they are ( 4 & 8), their birthday parties comprise of THEIR friends.
Not the whole ripple effect of relatives.
As a child gets older, they will naturally want... their 'own' parties. With their friends. Most parents/relatives, understand that.
For me, as I got older, my parties were just me and my friends. Not all our relatives, like how it was when I was 4 years old.
Per your #2 Question: Just give the kid a gift. So what if they never gave your son a gift. That is not the point. The child did attend your son's party. Your son considers him a 'friend.' This is a 'life lesson' for your son. It is not about an eye for an eye... but the thoughtfulness... of which some people do not have that.
If you do not give a gift... then maybe it will cause problems, with that friend and family. Who wants drama?
Besides, I don't think its a big deal to give the other kid a gift... even if they did not give your son one.
I would just explain to my kids, that they must have reasons that we don't know of. Its okay. Don't assume.