According to The Oxford Advanced Learner's Dictionary, the contraction she's may be pronounced both with a short [i] sound(as in pit) and a long [i:] sound(as in sheep) when it means she is, but it must be pronounced with a long [i:] sound when it means she has.
I've always thought that she's is pronounced with a long [i:] only when it's used emphatically, regardless of its meaning. For example,
1.She's not coming with us. (she is, [i])
2.She's been doing well. (she has, [i])
3.She's the one who stole your keys. (she is, emphatic, [i:])
4.I don't have your keys. She's got them. (she has, emphatic, [i:])
According to the dictionary, however, I am wrong at least in my example 2. English is only my third language, so maybe I don't distinguish between [i] and [i:] as well as I should, but I hear the word she's in examples 1. and 2. pronounced in exactly the same way.
Questions for native speakers:
- Were you aware of this difference in pronunciations of she's?
- If I(or anyone else) were to pronounce she's from example 2. with a short [i], would you actually sense that something was pronounced not quite as it should have been?
- Would you pronounce she's with a long [i:] in a non-emphatic context?
Best Answer
Not all English dialects distinguish between the HAPPY vowel [i] and the FLEECE vowel [iː]; for example, General American does not.
One distinction that is made in all English dialects is the tense/lax distinction: the FLEECE vowel, tense [iː] vs the KIT vowel, lax [ɪ].
Note the terminology of tense vs lax, not long vs short. This is not just a length distinction, but a quality distinction. The tense vowel tends to be longer, higher, and sometimes becomes diphthongized.
EDIT: I realized I only answered part of your question.
She's < she is and she's < she has are homophones in all dialects. There is no difference in pronunciation based on the meaning of the contraction.