I'm doubting the issue is the battery. Usually if the battery is weak when you first start the engine, all of the electronics will give you a fit. I've seen quite often where a battery which is low on power has enough to start the engine, but then it's too low for the ECU to be able to deal with it and will start making everything go nutty.
Usually a battery is good for about five years. While this isn't hard and fast, it's a pretty good rule of thumb. When a battery gets to the end of the five years of life, I usually plan on changing it out as a maintenance item instead of waiting for it to die completely.
There is a pretty easy way to tell if the battery is as you state: check it. Put a multimeter on the battery posts prior to starting it. If it is anywhere in the 12+vdc, it's probably good. Check the voltage just prior to starting (first thing in the morning), then check it again after its running. While running (regardless of how it's running) it should be in the 13.5-14.1vdc range. You could also try shutting it off right after first startup, then starting it again to see if it goes away. If any of these checks prove good, it's probably not your battery.
- If the voltage before first start up is below 12vdc, put the battery on a charger overnight. If the vehicle starts and runs just fine on first startup in the morning after charging, it might be your battery.
- If the voltage while running the engine is below 13vdc or above 15vdc, it might be your alternator. NOTE: Upon first startup, the voltage could spike up for a bit at first, but should settle down to the range indicated after a short bit. That would be normal.
- If you start the engine, then shut it off right away and fire it up again and the engine runs fine, it's not your battery. If it fails this (and continues to run poorly), it doesn't mean it's your battery, but doesn't eliminate it, either. If it does start running fine, something else is to blame here for sure.
- If you still believe it might be the battery, take it down to any major brand auto parts store. They can load test it for you and give you a good idea of the health of the battery.
Cold weather is sort of a double whammy on your battery. First is, when cold, the battery isn't going to be as efficient, so will spin the starter slower while under load. Secondly, since the engine is cold, it takes more to get it moving. While this is probably obvious, I point it out to highlight the point that if the engine isn't firing as quickly, it may not be the battery which is at fault, so don't use it as an absolute litmus as to battery health.