What you probably had seen was a P0216. This is injector pump timing failure, pretty much an internal failure code. It sets when it advances the internal timing and still can't keep up. A common cause for this one is a weak transfer pump. The only thing that lubricates and cools the injector pump is the incoming fuel and if transfer pump flow falls off it can do some damage as the pump keeps advancing to keep up with demand while starving for fuel. This would definitely put the engine into limp in at times, taking throttle response away from you momentarily.
Another one (and one that may also be set now) is P1688, it's an internal pump failure code. There is also P1689, this sets when the injector pump module isn't communicating with the ECM. Any of these three codes are a pretty good sign of pump failure, especially with a truck that won't start.