M.D.
It's hard to give advice on your diet, because you've mixed a lot of things together. Lactose-free (has milk protein but no lactose), dairy free (has no lactose or milk protein), and gluten free are all very different from each other. When we were sorting out a food intolerance for one of mine, my pediatrician suggested an elimination diet. In an elimination diet, you remove all common allergens from the diet for 2 weeks. This includes all milk, dairy, gluten, nuts, eggs, and soy) for 2 weeks. Basically, he's eating protein (chicken, turkey) without any sauces and plain sides (white rice and steamed vegetables). Leave out any foods with multiple ingredients. Do this for 2 weeks. Hopefully all his symptoms will go away over the 2 weeks.
1. Then, add back 1 thing. Just 1. I would start with the lactose-free milk. Lactose-free milk has milk protein but no lactose. If you add the lactose-free milk back and his symptoms come back, then you know that he is intolerant of milk protein and you will have to avoid all dairy all the time. If he is completely fine with lactose-free milk, then you know that his stomach is fine with milk protein and you can add lactose-free dairy (this means lactose-free cheeses only, no ice cream, etc) back to his diet. Do this for 2 weeks to make sure it's fine.
2. (skip this step if he is milk protein intolerant in step 1) If he is OK with milk protein for 2 weeks, give him a small cup of regular milk. Lactose intolerance usually has pretty immediate effects so you should know within hours if he is lactose intolerant. If he has symptoms, go back to lactose-free dairy. If he doesn't have symptoms, you can add more dairy to his diet over the next 2 weeks. If he has symptoms at any point, then he is lactose intolerant and you need to go back to the lactose-free diet from the last step.
3. After 2 weeks, make him a scrambled egg for breakfast. Wait 24 hours and look for symptoms. If none, add more eggs to his diet over 2 weeks. If the symptoms stay away, he's all clear to eat eggs.
4. Same for nuts.
5. Same for soy.
6. Now that you have lactose versus dairy, nuts, eggs, and soy sorted out and you've been 2+ months with no gluten, you can tackle gluten. Have him eat 1 thing with gluten in it. Wait 24 hours and see if he reacts. If he does, you know he is intolerant of gluten so take it back out of his diet. If he doesn't react, slowly add more gluten into his diet and keep an eye on him. If at any point his symptoms return, then you know he is intolerant of gluten. If he symptoms don't come back, great, you can add gluten back into his diet permanently.
As you can see, this process takes 2-3 months to completely go through. However, at the end, you will have a very clear picture of what he can eat and what he cannot eat. Keep a food dairy during the whole process and if you find it confusing, work with a dietitian.