ive bought both m12 and m18 batteries for my heated jackets.. the cheapest place i found m12 2.0 batteries was on amazon.. the BEST prices i found for M18 2.0 batteries was on ebay.. i found someone selling two, 2.0 M18's for about $90 shipped.. the only thing i suggest is making sure to only buy batteries being sold in factory packaging, individually wrapped.. IMO - its worth it to spend a few extra $$ to make sure they are genuine, new, and unused.. its not hard for someone to swap older, used cells into a new case and sell them online as used..
ebay is a good place for the 4.0 m18 battereis also since milwaukee had the 4.0 battery and led light combo that was a promo for black friday.. at last price in the store, they were selling in HD for $65 - so many were bought and relisted or broken up and sold as individual pieces on ebay for under retail.