I don't know how it was pronounced in the past, but it must have been /ˈθriː.pɛ.ni/ (THREE.PE.NI) at some point, which is a three-syllable word having a 'tense' vowel in its first syllable, meaning it's a prime candidate for Trisyllabic Laxing. It's a process whereby a long vowel/diphthong is shortened if two or more syllables follow:
- */ˈθriː.pɛ.ni/ → /ˈθrɛ.pɛ.ni/ [because we know that /iː/ becomes /ɛ/ when syllables follow]
After that, the vowel /ɛ/ in the second syllable became /ə/ and syncopated (dropped) eventually so we got /ˈθrɛp.ni/.
(I have expounded on Trisyllabic Laxing in this answer to a question asking "Why are “south” and “southern” pronounced with different vowels?", but I'll just discuss it briefly here.)
Trisyllabic Laxing a process whereby a tense vowel (long vowel or a diphthong) is laxed (shortened) if two (or more) syllables follow. As we add syllables to the base of a word in English, we tend to reduce the length of the vowel in the base. If a syllable having tense vowel is followed by two or more syllables, the tense vowel often becomes lax.
At one point, this rule applied to all relevant cases; it was therefore purely a phonological rule, a constraint upon what was pronounceable in English. Later on, it ceased to be a part of English phonology, however, its remnants are still highly visible in Modern English.
- insane /ɪnˈseɪn/ → insanity /ɪnˈsæn.ə.ti/
- serene /səˈriːn/ → serenity /səˈrɛ.nə.ti/
- divine /dɪˈvaɪn/ → divinity /dɪˈvɪ.nə.ti/
There was a fairly regular pattern of the short and long vowels in corresponding pairs.
Relationship between [iː] and [ɛ]
The FLEECE vowel [iː] has a systematic relationship with the DRESS vowel [ɛ]. The vowel [iː] in the base often shortened to [ɛ] as syllables were added to the base of a word.
This relationship is reflected in serene - serenity and brief - brevity, therefore you see the vowel [iː] in serene and brief, but [ɛ] in serenity and brevity because the tense vowel is followed by two (or more) syllables now.
Laxing of the vowel in the first syllable of threepenny
The same thing happened to threepenny:
- /ˈθriː.pɛ.ni/ → /ˈθrɛ.pɛ.ni/
the tense vowel [iː] was followed by two syllables, therefore it got shortened to [ɛ] (by Trisyllabic Laxing rule).
By contrast, the tense vowel in threefold didn't get laxed because it has always been disyllabic (two-syllable) word, and for Trisyllabic Laxing to take place, we need at least three syllables.
- Threefold → /ˈθriːfəʊld/, not */ˈθrɛfəʊld/
Weakening of the vowel in the second syllable of threepenny
OK, the first syllable is clear now, but what about the second syllable? Why is the vowel in the second syllable further reduced (/ˈθrɛp(ə)ni/)?
It's because the second syllable has no primary stress. And as we know, unstressed syllables often get reduced to schwa hence,
- /ˈθrɛ.pɛ.ni/ → /ˈθrɛpəni/.
Most people further reduce it to /ˈθrɛp.ni/ because there's a tendency to drop the unstressed vowel when it immediately follows a stressed syllable (as in choc.late, av.rage, cam.ra for 'some' people).
Some people also pronounce it with [ʌ] in the first syllable, but it seems to be a later change or it may be dialectal.