Is there a reason that Moose becomes Mooses instead of Meese (as in tooth/teeth and foot/feet)
As suggested in the following extract, the reason appears to be the fact that, by the time that the term moose entered the English language (17th century), the big vowels shift was already almost completed, so, unlike goose - geese, the same mutation didn't take place for moose.
From : Oxfordwords blog:
The simple reason is that it’s a loanword. All nouns that are borrowed into English either form their plural with the standard plural ending –s (the vast majority), retain the plural ending of the donor language (e.g. phenomena, algae), or remain unchanged in the plural.
It is also quite possible for the same noun to employ more than one of the above types of plural formation. The word moose has its origin in the Native American Algonquian language. Adopted into English by British settlers of North America in the early 17th century, it comes from the Eastern Abenaki word mos, which also appears in southern New England Algonquian languages, such as the Narragansett word moòs.
Moose entered English via the Algonquian language in the early 17th century long after the Old English vowel changes had happened.
Though vowel mutation in English had hardly faded into the background, the specific process that gave us "feet and geese" had already occurred hundreds of years beforehand.