You asked a similar question a few weeks ago, and I think you got a ton of good answers. You have slightly different details in this post, but I think the answers will be the same, namely:
1) talk to the pediatrician about possible sensory issues and to rule out any swallowing type problems.
2) stop filling him up with milk. He doesn't need it. And absolutely nothing during the night. It's terrible for his teeth, and all that dairy can increase mucus secretions when he's already battling a cold.
3) Let him eat nuts & fruit, and don't push hot dogs at all. Pizza can be okay if there's good stuff on it or if it's a treat.
4) No food at night, zero, after age 1. He will not starve. He will have a bad night (and so will you, and then he will eat during the day the next day.
5) If he won't sit, fine. I don't know what you expect when you say "a meal" but a 2.5 year old has a limited capacity and is just not going to get through the day on "3 squares" - he's going to eat 5-7 small mini-meals or snacks a day. He has a limited attention span and isn't going to sit in a booster for 30 minutes, or even 20. When he's done, he can get down from the table or (if you can) play with a few special "table toys" that are not disruptive. We always had special toys for restaurants too - small, portable, and only used then so that they were interesting and kept his attention.
6) Offer a variety of textures, colors, food types at each meal. If you are giving him a piece of meatloaf, a scoop of mashed potatoes and a pile of peas and you expect him to eat that and only that, you're going to be disappointed. Try the "ice cube tray" approach or a sectioned plate with more than 3 sections: nuts, fruit, yogurt, carrots, peas, cheese cubes, hummus for dipping little carrot sticks or pepper strips, peanut butter with some apple chunks for dunking, small whole grain crackers or mini rice cakes, cubes of meat loaf or shredded chicken, and so on. In time, you'll figure out what he likes and he'll have many, many opportunities to try new foods in very small and manageable quantities. There's some statistic that says a child often needs to try a new food somewhere around 20 times before he embraces it. So don't quit. Let him use a fork, a spoon, and occasional toothpick to learn to use utensils but also get some food in him without frustration.
7) When he's done, he's done. The food gets put away. Don't make it a battle. If he's hungry in an hour, bring out the same food - not with a negative or punishing sort of tone, but with the attitude that, "Oh, great, you're ready now, here you go! Yum, doesn't this look good?"
8) Make meal time fun, with laughter and stories, with you sitting there with him (and eating and saying "yum" about what you're eating)! Don't make it a battle ground
9) Get him a play kitchen and "cook" together. You can often find them used on Freecycle or Craigslist or at consignment/resale shops if you don't want to pay full price. Help him make a "grocery list" and then make a "grocery store" with play food you can find at any toy store.
10) No interaction at night. He needs to sleep, he needs to self-soothe. He absolutely cannot grow up thinking that eating at 3 AM is okay. He's not a newborn. He will not starve. He needs brain development.
Please get some help from a pediatrician or someone giving a support group for moms/dads so you can learn to take control of what you can control, and let go of what you cannot.