Prolonged engine idling was proven harmful for the engine decades ago and that is why computerized commercial engines have a program that in case of long idling, the computer will run the engine on high idle for some time to counteract the effect.
Evidently it is not such a big deal as truckers have been idling their engines overnight every night they were on the road and the engines lasted for million miles. Question might be if they would last million and a half without idling.
In last years California made bunch of no-idling laws having environmental protection in mind so the engine well-being might be secondary to tickets.
With batteries it seems to be hit or miss all the time.
I had my cheap Golf cart batteries running for 12 years, but than I bought Bosch battery for wife car and it gave up in 2 months. With 90 months warranty I got it replaced, but still a hassle.
AGM batteries per reviews die faster than flooded batteries, so I am buying whatever I can find at Costco with 90 or 100 months warranty.