Any chance your windshield is leaking when it rains? If it does there is a high probability that water is running down the inside of the windshield, down into your dash, following your wiring down to the fuse box and collecting in the fuse box cover, where the fuses and the relays sit submerged in water. Pop your cover off after a good rain or after washing the truck and you'll see what I mean. Pull your fuses out to see if they are corroded. Drop the fuse box and see if any of your wires are shorted or if the connectors are melted. The fusebox is live even with the key out of the ignition, so when there is a short, the wires to the stereo etc are often back fed with current, which is often the cause of the radio or windows operating with no key. If it shorts to ground the batteries will go dead as current will be flowing day and night. If you have a dead short, sufficient amperage will flow to smoke wires and result in an underdash fire.
Just make sure your not taking in water... personal experience
Mike