I had the same thing happen after driving on pavement in 4LO for a while. Tried the same things (disconnect battery, etc). What finally got it to work was to idle slowly in reverse in a circle left, then right, then straight again. Put the trans in neutral, let it coast about 1/2 MPH, and it finally went back to 2HI. Strangely, it has worked perfect ever since.
If that fails, I do believe you can force it manually from under the truck, but like ty_LBZ said, block the wheels and/or set the parking brake, because getting run over is not fun.