In my experience battery life can be highly variable and just because you had to jump it today doesn't necessarily mean that you will have to replace it. It's "possible" that the residual charge on your battery after the last time you drove it wasn't sufficient to deal with the combination of extreme cold weather (leading to increased resistance to current flow), and the instantaneously high current requirements (a.k.a. inrush current) when first starting the vehicle. Notwithstanding this, if the problem persists you're likely into replacing the battery.
If you do replace the battery it's critical to ensure that the voltage is the same as that on the OEM (12 V), however you have the option to either meet or exceed the OEM specifications on current rating (640 A) or current capacity (80 Ah). It's safe to exceed either of the latter two specifications as they represent the maximums that the battery can support at the stated voltage.
As far as reading battery voltage, you will need a multimeter (~$30), or a battery load tester (~$100). The battery should read 12.6V-12.8V with the car not running (no load), when starting the car expect the voltage to drop below this range momentarily (greatest load), following the car start the voltage will recover and likely fall in the 13V-14V range as it charges.
As far as brands go I'm new to BMW's but with my other two vehicles (Volvo & Toyota) I've never had any trouble after replacing the OEM with MotoMaster batteries.
Best of luck!