The wiring to the headlights can rub through almost anywhere along the front of the truck and underside of the hood where the hood pivots. Follow the wiring harness and look for any rubbed spots. The visor lights are powered from the body controller so you are looking at an open wire somewhere. The body controller is behind the panels next to the clutch linkage. The wire should run up the pillar above the windshield. There is a connector usually near where the wiring passes through to go outside. You are looking for connector J2 at the body controller. Wire A53, which is a 16 gauge brown wire in cavity G. Some where there is a butt connector where it branches out. The wire for the upper visor lights is A58T, which is a 18 gauge brown wire. The ground side could also be open, so if you have a test light, check for power at the light socket.