I have heard that beach and bitch might be especially hard for speakers of Latin languages like Spanish and Portuguese. I assume those languages do not have a separate vowels for "ee" (keep, seep, weep, deep) and "i" (bit, hit, lit, fit)?
It's different. In Portuguese we use accents to change how the vowel sounds, so just by reading the word one knows its correct pronunciation. One spelling corresponds to one pronunciation. There are no 1-to-2 or 2-to-1 correspondence in spelling to pronunciation.
E and I, however, sound entirely different from English.
E sounds like the vowel in "say", "hey". Always!
É sounds like the vowel in "hat", "mat", "sad". Always!
I sounds like "keep", "sheet". Always!
Í sounds like "hit", fit, lit. Always!
That makes it a little easier for learners, because the pronunciation doesn't change according to context (like example "A" in my previous post). However, I find English a lot easier to learn than Portuguese, but mostly because of the verbs. Latin languages are quite complicated when it comes to verbal tenses.