Did you unplug the vacuum line to the egr valve to see if it in fact is the reason the truck runs poorly? If the egr solenoid is hanging open it will apply vacuum to the valve opening thus making the truck run bad. If it were carbon in the valve it wouldn't only do it when it's cold.
As far as diagnosing why the SES light comes on for the egr circuit, it's really easy to test.
1) make sure you hve vacuum to the solenoid.
2) apply a vacuum source to the egr valve with the truck running, it should make it run really bad or even stall.
3) test the solenoid, make sure with the key on there is B+ at the solenoid. The other terminal should have ground only when The ECM energizes it. The ECM will energize the EGR solenoid (EGR "ON") when the engine is warm and above idle while driving. So to test it just apply a ground to the other side of the solenoid and vacuum should flow to the valve.