Well, I just learned something interesting. To and too actually come from the same root. They trace back to the Proto-Indo-European word *do meaning, well, "to" or "toward." It shows up in Latin, Old Church Slavonic, Greek, Old Irish, and Lithuanian, though I don't recognize any of the various forms.
To traces back to the prepositional form of the word, which was unstressed and thus often had a short vowel. Too comes from the adverbial form, and since it was always stressed, the vowel was always long. In Middle English, long vowels were often written with doubled vowel characters, so too received its second o.
(Note: When to was stressed, it still had a long vowel, so it still shifted from /o/ to /u/ in the Great Vowel Shift. If it had always been pronounced with a short vowel, then to and too would not rhyme today.)
I'll tackle two when I get home from work.