Just for clarification, I'm only asking out of academic curiosity. After I discovered the XOR swap algorithm I demonstrated my cleverness to my co-workers around the water cooler when the question of floats came up. The idea of converting the floats to integers doing the XOR swap and the converting back came up, but didn't seem like a good solution (figuring out what to multiply and divide the original floats by plus the fact that it introduced two additional variables just seemed 'wrong').
Andre's solution seems the closest thing to what I was looking for. I don't think that there's anything that can be done about the float arithmetic errors. Though I would like to see people kick around more ideas if there's anything else anyone would like to add.