There is a separate /jɛ/, 也,耶.
Within-syllable -jɛ- exists in yan and its "compounds" tian, mian, lian, etc; changing the final consonant to -ŋ gives you the yang / niang / liang / xiang series of syllables, which have -ja-. This would suggest that, if the vowels are to be unified into one phoneme, the realization of that phoneme is driven more by the following consonant than the preceding vowel/glide.
There's something weird going on where -ɛ- in a complex syllable can appear with more onsets than -a- can. We see e.g. tie, tian, die, dian, mie, mian, bian, pian (with -ɛ-) where we don't see tia, tiang, dia, diang, mia, miang, piang (which would use -a-). xia, jia, qia are all fine, and so is niang. My working hypothesis for that would be "it's a coincidence".
I believe without being able to cite anything that one reason for the spelling of yuan and similar codas with "a" is local variation in how the vowel is pronounced.
One distinction that some Chinese speakers fail to make, though, is between the r- onset and what I would prefer to think of as the j- onset. Thus, for these speakers, rang / yang or rou / you are the same sound.
Pinyin ran uses the standard /a/ vowel, but yan does not. I don't know whether, for speakers who don't distinguish r- from y-, a distinction remains in the vowel of ran/yan syllables.