Different pronunciation between Thomas and Theodore
There is no rule at all. As Robusto mentioned, there isn't really any rule for pronouncing th, and even if there were it's common for names not to follow rules.
Thomas comes from the Aramaic t’om’a, while Theodore comes from the Greek Θεόδωρος (Theodōros), which is probably the reason for the difference in pronunciation. Eventhough the th in Thomas comes from the later Greek spelling, it's likely that the pronunciation remained from the original form.
Thomas
Theodore
Unfortunately, the rule is pretty much that you have to know how it it is pronounced for every single word in the English language that begins with th-. Especially for proper names.
Even then it won't help if you work with two women named Thalia, one of whom insists on her name being pronounced Talia and the other wants the lithpier version.
Oh, and by the way ... Theodore's nickname is Ted! And you thought English pronunciations ought to make sense. That's just ... adorable! :)
P.S. I'm not poking fun at you, but at our silly, unreasonable language.
From the great poem on English pronunciation The Chaos:
The th will surely trouble you
More than r, ch or w.
Say then these phonetic gems:
Thomas, thyme, Theresa, Thames.
Thompson, Chatham, Waltham, Streatham,
There are more but I forget 'em-
Wait! I've got it: Anthony,
Lighten your anxiety.
It was actually written by a Dutch teacher of English.