Do a search for yamaha part # cross reference. I found a site that showed an xt350 ignition from certain (most) years was the same as my 96'TW. That widens your options for ebay,etc.
I rekeyed my helmet lock to match the ignition in just a few minutes and had never tried that before. Just take a small pick and depress the gold colored piece and CAREFULLY knock out the lock assembly. Don't loose the tiny springs. CAREFULLY hold the assembly and insert the desired key to match and watch the little pieces to see which ones don't go in to make the cylinder smooth. Flip those over or swap them around or maybe even remove one, you don't need them all. It's really easier than it sounds. The gas cap is the same process. Just make them both match your ignition key.
Lock smith should be about $10 or $15 per lock.