There, is a ground on the frame near the fill hose.....its on top the frame....takes a 13mm socket or wrench......this wire sometimes breaks or gets rusted, clean both the frame and the eyelet, i normally use grease to reassemble and keep the rust from coming back..........not sure if the gauge grounds here too......I dont have the wiring for this vehicle memorized like I used too, been several years since I gotten to touch one.
The sender goes bad. Also the gauge motor goes bad in the cluster. Companies rebuild the entire cluster online.
I'd start with a scan tool and perform a sweep test on the gauge to see if it moves both ways fully. Check codes to see if its sender related. The ground for the gauge is under the hood behind intake.
03 might be a bit early but you should be able to pull the fuel level up in the data stream. Obviously if the data pulls an accurate fuel level than the cluster probably needs fixed. Its 50/50 between the cluster and sender. The fuel pump is probably due to $hit the bed so it won't be a total loss if its the sender.
Got a scanner on it. Gas gauge sweeps. Scanner says gauge level zero, sender level zero. So I'm thinking sender...