My two year old loves milk -- and I mean just the plain old stuff, nothing added. I had to be the mean mommy and tell him that milk is for meals only. He gets a cup (actually less than a true cup, maybe 4 or 5 ounces) for each meal -- that's it. When it is gone it is water for him and water only between meals. He didn't like it at first, but now he will occasionally ask for water at a meal also. I guess he decided that it wasn't so bad.
My son is also a junk food lover, and would eat it all the time if I would let him. There are times that we simply have to "run out" (if you get my drift) of things. I have tossed things that we have issues with in the trash just so I could tell him that we don't have anymore. Yes, he pitches a fit for a while, but that's the way it is, and he gets used to it. Then I offer an alternative snack or drink. Eventually he takes it and I simply don't buy (or let him see:sinister) the offending item.
Maybe I'm a big meany, but I can handle a day or two of tantrums for a good outcome. It's not like I'm being mean, I'm doing it because I love him.
It must work if my 4 1/2 year old is any indication. He is now very understanding of things like this and will self regulate. For example, I had on Dr. Phil yesterday when he got up from his nap. It was the show on the morbidly obese toddlers. He asked why they were so fat, and I explained the many reasons someone could get that overweight. I focused heavily on poor food choices, and too much tv and video games (a heavy issue in our house now.) He told me that he didn't want to play video games as much anymore and that I should set the timer for him when he plays so he will know when to stop.
I hope my two year old turns out to be so agreeable.