I fixed my truck! Thanks for all of the advice!
To sum up the process:
-Using my OBD2 scanner to see that the engine was running lean, P0171 and P0174 codes.
The LTFT1 and LTFT2 were around +14%.
- Tested the fuel pressure at the fuel pressure tester port; it was normal.
- This meant that I likely had a vacuum leak somewhere. I was unable to locate the leak using "the spray the carb cleaner around vacuum lines and gaskets" meathod, or by looking around the engine.
- I could now inveset in a smoke machine, or replace parts that probably needed replacing anyways, and hope the vacuum leak disappears in the process. I went ahead and replaced the valve cover gaksets, the fuel injector o-rings, throttle body gasket, air intake gaskets, valve cover bolt & grommets, both knock sensors. The gaskets were good quality (Felpro), and knock sensors were OEM. I have read way too many stories of cheap knock sensors failing early.
-After putting everything back together and starting the engine, the engine mis-fired every couple of seconds and the LTFT had jumped to 25%. Ugh! In addition to seeing codes P0171 and P0174, I had P0300 (random misfires).
-I bought a smoke machine. Running the smoke machine revealed that the rubber sleaves at the ends of the PCV hose were cracking on one end and split open on the other end. Also, I had left one bolt out of the intake manifold (smoke was pouring through the bolt hole).
Thankfully, both of these items were simple fixes.
My Silverado now runs smoothly again, the codes are gone, and the LTFT are back to zero.