Why does the suffix of "iodine" sound different in American and British English?
Solution 1:
I don't think there is any good explanation.
I checked this in Fowler (originally 1926; re-published 2009). He writes that iodine, bromine, chlorine and fluorine were at the time all given with /ɪn/ as the main pronunciation in the OED, with /aɪ/ as an allowed alternative. He also thinks that "iodine" generally had /aɪ/ in popular usage at his time, unlike the other three.
Apparently the prevalence of different pronunciations has shifted since his time. As you note, the pronunciation with /iː/ seems to be common in modern British English (the OED now lists it first). In general, words ending in the suffix -ine have very variable pronunciation, unrelated to any etymological distinctions (e.g. divine, bovine vs. marine vs. genuine). It's somewhat comparable to the variability in the pronunciation of -ile. Although some, such as John Walker, have attempted to prescribe /ɪl~l̩/ vs. /aɪl/ on the basis of Latin vowel length, it seems quite arbitrary to use this as a criterion of correct pronunciation today, especially since /aɪ/ is actually stigmatized in the pronunciation of the word genuine which is from Latin genuīnus (and as far as I know, /aɪ/ is unheard of in doctrine, from Latin doctrīna).
Another oddity is that "machine", which in Latin had a short vowel in the second syllable and was stressed on the first vowel (māchina), is in modern English pronounced with stressed /iːn/ in the last syllable due to coming through French. (This word doesn't have the same suffix as the other -ine words, but it ends in the same letters.)