When I saw the title, a weight loss concerned me. However, if it was really only a few ounces (are we talking 3 oz or 15 oz?), I would say that it could very well be weighing @ a different time of day, different clothing, etc. If he is growing in height and on track developmentally, I don't think it's a crisis. It does sound like it's becoming an emotionally charged struggle, though, which I would try to de-escalate, but not necessarily by letting him decide the menu at every snack or meal.
I'm in your pediatrician's camp, more or less. By 18 months, I would serve my kids whatever we were having. They could eat or not eat, but I didn't negotiate or argue or make alternatives. So long as it was something they had enough teeth for, that was the option. I also never gave my kids much cow's milk, so they weren't filling up on that (they nursed and ate other dairy). At snack time, I give one or two choices of a healthy snack (olives, cheese, nuts, fruit or veggies), but I do keep it to snack portions. I know that a lot of people think I'm very strict and that it's not fair, but I don't think that kids (or adults) need to love every meal they eat. They can eat less of it, or even skip a meal all together, that's ok, but they know I'm not making an alternative. I don't "make" them eat things. For instance, my DD (5 yo now) does not like pasta carbonara. Everyone else does, and I make it occasionally - perhaps every 6-8 weeks. If she's really hungry for dinner, she'll eat a little, but if she's not terribly hungry, she'll just skip dinner. She did that last week. That's fine. And she eats a big breakfast the next day.