You know that 2 is way too old for the bottle, so be the parent and take it away. Don't just take it away, throw them out today! Every single bottle, nipple, etc in the house, toss them! He will throw tantrums, he will cry, but don't give in because if you do, he will be the one in control.
If this seems too harsh, then do it gradually. Let him pick out some cups at the store, and only give him a bottle once per day, not at bedtime though. No more nighttime bottles! Once he's down to one bottle a day, gradually make it once every other day, etc. and never give him a bottle on an outing. Outings are for big boy sippy cups, no bottles allowed!
I don't know what you've tried, but seems like you are giving up way too easily. May seem harsh to you, but within a week or two, the tantrums and crying will be over with,and he'll happily be drinking his milk from his favorite cup that he picked out at the store! Let him help you fill the cup, and make a special treat (like Ovaltine) that he can only have if he drinks it from the sippy. Start giving only water in the bottle too. If you're worried about his milk intake, like he stops drinking it, that's what the Ovaltine is for! YOu mix it with milk, lots of vitamins in it and it's very tasty.
Give it a shot, and don't give up!
Good luck!