My son is a picky eater too and so far this is what I've learned: The child will eat if and only when he's hungry.
I always prepare well-rounded, nutritious meals and have been doing the same thing for years. At each meal I ask him how much of any given item I've prepared he wants. I give him three options: A lot, A little or A taste. There is ALWAYS something he doesn't want and so he always at least gets a "taste", which would be for example, 3 peas or maybe one or two slices of carrots. Then, he MUST actually eat the "taste".
As for the milk - I would cut it down to 2, 8oz bottles a day. It sounds like he's filling up on milk, which could be why he's not eating real food.
Try not to stress out about it too much. I'm sure you're not depriving your little guy, and for all we know he could be going through a phase. Some kids eat substantially less or more when they're going through growing spurts, or teething.