Why is the pronunciation of "Exodus" different from the spelling?
Unstressed vowels in English tend to be reduced
Exodus differs from exotic because exodus is stressed on the first syllable, while exotic is stressed on the second. Unfortunately, there is no single simple rule for figuring out the placement of stress in a word from its spelling in English. (There are a number of more-or-less reliable conditional rules of varying usefulness; for example, words that end in the suffix -ic, such as exotic, tend to be stressed on the second-to-last syllable, although there are exceptions). The easiest, and in many cases the only way to know the stress pattern of an unfamiliar English word is to look up the pronunciation in a dictionary.
Unstressed vowels in English often change due to the process of vowel reduction. So while the letter "o" usually corresponds in stressed syllables to the phoneme "short o" (written in IPA as /ɒ/ for British English, or as /ɑ/ for American English) or the phoneme "long o" (written in IPA as /əʊ/ for British English, or as /oʊ/ for American English), it often corresponds in unstressed syllables to the reduced vowel "schwa" (/ə/). As Sven Yargs mentions, this is not at all irregular; it's quite common. It's important for foreign learners of English to be accustomed to pronouncing the schwa sound if they want to sound like native speakers.
There are many words where "o" is pronounced like this. Another example might be Methodist, pronounced /ˈmɛθədɪst/.
Reduced vowels in English may sometimes sound like "i"
Speakers with the so-called "weak vowel merger" or "rabbit-abbot merger" conflate the reduced vowel /ə/ with the vowel /ɪ/ (the vowel in words like "kid") in unstressed syllables. (For speakers without the merger, "rabbit" ends in /ɪt/ and "abbot" ends in /ət/.)
According to "The phonetics of schwa vowels", by Edward Flemming, non-word-final schwa (at least for speakers with the weak vowel merger) is phonetically similar to stressed /ɪ/ (the vowel in words like "kid") in that it is generally a (relatively) high vowel. What this means is maybe best illustrated by a chart:
This is a vowel chart from Flemming, page 3 (with my annotations on the right). Flemming studied female American English speakers. Vowels near the top are "higher", vowels near the left are "fronter" than the others. The empty white squares are samples of the "schwa" sound in non-word-final position, plotted based on certain measured frequencies that are important for speech perception. You can see that they overlap on the left with the mean position of the /ɪ/ sound. There would be even more overlap if Flemming had plotted the entire range of /ɪ/, rather than just the mean.
Fleming also mentions that the pronunciation of the schwa vowel, especially its "frontness" or "backness" (positioning left or right respectively on the chart), depends a lot on the surrounding consonants and nearby vowels. In "Exodus", the flanking consonants are /s/ and /d/, which seem to be less likely to cause vowel backing and lowering than labial consonants like /b/ and /p/. The preceding vowel is /ɛ/, which is a front vowel. The following vowel is another schwa. So it seems quite likely that the schwa in the second syllable would be realized at about the same height as /ɪ/, and fairly likely that it would be realized with comparable frontness.
The word exodus comes to us from the Greek εξοδος, literally a going out. The English word is a transliteration of the Greek into the Roman alphabet. The third letter in the Greek is an omicron, or "short-o", and its counterpart "o" is what you hear in the English pronunciation, usually as the unstressed vowel sound schwa (ə, in the IPA).