So, with little hope and as a bit of an experiment, I put the battery on charge with a Noco Genius 3500. Charged at room temperature until the charger said it was full. It tested 13.7 volts. That took about 18 hrs. Then I ran the "Recovery" cycle, intended to reverse sulfication with pulse high voltage. When the 'smart' charger said that was done, I ran the cycle again.
I put it in the truck and when turning the key, only got clicking. I hooked up another battery with jumper cables which was showing 15 volts (must be overcharged) and still just clicking. Even when trying to crank the engine over, both batteries connected together still show 12-ish volts. In the past, I've jump started the truck with this second battery just fine. Now I'm thinking starter solenoid - probably due to too much cranking at low volts.
I left the battery overnight in -12c temps, tested it again in the morning and it's at 10.5 volts. So, I'll give up - this battery is officially dead.
So I installed a new battery, the truck starts right up, starter is fine.
So, with a battery with good volts, it wouldn't start, maybe not enough amps? With a second battery with tons of volts and presumably good amps (it's been used to jump start before and has been on charge between jumps), still wouldn't start.
A while back, I cleaned off the battery terminals and cables well with baking soda and sand paper. I put a layer of regular grease (not di-electric) on the battery and cables to prevent oxidization. With the new battery, I cleaned off the cables and obviously the new battery terminals are clean. Could the grease have been part of the problem? I've used regular chassis grease on batteries before and had no problems.