The concept of "allomorph" was developed historically in parallel with the concept "allophone", and was designed to express relations between levels of analysis. In English, [pʰ] and [p] are allophones of the phoneme /p/, following distributional rules governing the bijective relationship between phonemes and allophones (i.e. one allophone appears in one context, the other in another, and the allophones have only a single "source"). The phoneme /p/ can be seen as expressing the unity behind the allophones [pʰ] and [p], and there is a phonetic rule governing that distribution.
The phoneme sequences /s/, /z/, /ɨz/ are recognized as being, similarly, variants of a single morpheme marking the plural (also the 3sg present or the possessive). The output of the rule is one or more phonemes (s and z contrast in English) and the input is a morpheme "the plural", symbolized often as "{S}", using Berkeley-style notation. Such rules are known as "morphophonemic" rules, an just as the relation between a phoneme and the phones that realize it are known as "allophones" (of the phoneme), the relation between the morpheme {S} and the phonemes that realize it are known as "allomorphs" (of the morpheme). The concept of "allomorph" is wide-ranging, and would include cases such as s,z,ɨz as well as -ren, vowel changes as in foot~feet.
It is important to know that this was the theoretical standard in pre-generative days in the 40's and 50's. Generative grammar rejected the strict separation of levels of taxonomic analysis, and initially rejected the terms "phoneme, allophone, allomorph" associated with that theory. Inevitably, the words were re-adopted, unfortunately without the original meanings, and therefore there is currently no clear understanding of what an "allophone" or "allomorph" is. The term "allomorph" these days can be used to refer to the result of applying phonological rules to a morpheme (as in the set s, z, ɨz) where there is obviously the result of a phonological rule; it can also include cases where the surface form of a morpheme follows a phonological rule specific to a particular morpheme or set of morphemes (for example the phonologically-distributed -si~-i, -ya~-a alternation in Turkish possessive affixation). It will even extend to the relationship between is, was, were, be, where there is no phonological conditioning.
The harder question is identifying "the same morpheme", whereby a- is not the same morpheme as in-. The concept of "sememe" was not available to taxonomic analysis, and appeal to semantic function would not be. Still, the distribution and function of the three prefixes are not exactly the same. One of the meanings of a- is "without", leading to amoral versus immoral. The more productive morpheme un- generally attaches to Germanic roots and in- attaches to Latinate roots (it's much more complicated than that but that's a first-approximation distinction). There are pairs like unarguable and inarguable which both exist, though individuals may abjure one form or the other, but you can't generally replace in- with un-. Those differences (plus the gross differences in form) have been enough to cause linguists to say that "these are different morphemes with similar function", not "here are some variants of the single negative morpheme".