Vowel change was a strategy for forming plurals in Old English. The process is shared among Germanic languages, and is Germanic umlaut. Ultimately it comes from –iz being a plural suffix in Proto-Germanic: the plural of *mūs was *mūsiz, and the plural of *fōts was *fōtiz.
In time, *mūsiz went to mȳs in Old English (pronounced müs), because the following –i changed the vowel in mus by umlaut from /u/ to… <ü> (hence the name umlaut), before the whole –iz suffix dropped off. Middle English lost the /y/ sound, so mȳs became mīs, spelled mice.
Umlaut was one of the two strategies of forming plurals in Old English, and used to be much more common. (The plural of book used to be bēc, just like the plural of foot was fēt.) The other strategy was adding an –s to the noun, and that strategy prevailed in Middle English.