some ideas
My one truck had a similar problem about a year back, turned out to be a bad battery. Might be something you want to look into. We could never figure out why but it did make sence after we realised how much juice we were drawing with lights, plow, sander ect.
This year the alternator went.
I would run lucus fuel treatment thru your truck, I run it in every tank. Lucas Cleans injectors, and increased my mileage and peppyness. Also you could check for codes when you lose power. put the key in, on off on off on, do not start, look at the dash and you should see any codes listed where your mileage is. stuff like P0XXX or done and that means you have none.
There is also an APPS reset it is called. That was something that was recomended to me once and it fixed a hesitation I was getting. You disconnect the batteries, and leave unhooked for about 3 hours, then hook up, turn the key on and press the pedal slowly down and let it go slowly back up, then start. I am pretty sure that was it. I can look it up if you want me to just try the other things first.