My daughter is also extremely small. She's 24 months (2 years) and just hit 22 pounds. Her father and I are both small though, and although she's below the 5th percentile in both weight and height, she's followed her curve steadily.
There are certain foods you can try to offer him that can help him gain, such as Carnation Instant Breakfast (like they suggested), mashed potatoes, avocado and banana (not together, obviously), oatmeal, cheese if he can tolerate it. Make sure everything you offer him is full-fat, not low-fat or fat free. Your doctor should have provided a list of different foods you can offer that can help him gain weight. If he/she didn't, you can call and ask for a list.
Have they done testing to rule out metabolic issues? Or do they think this has to do with his intolerance of milk?