As has been pointed out, it's the long vowel in the nom. and voc. sg. of sāl that requires explanation, not the short vowel everywhere else, and it doesn't look like we have a good consensus.
Sihler, in his New Comparative Grammar of Greek and Latin, calls it "an enigma". He holds that sāl continues earlier *sall and ultimately Proto-Indo-European *sals, both with short *a, which is also what is seen in Greek ἅλς; as such, the long vowel could be a result of compensatory lengthening, but then it's hard to see why par < *parr < PIE *pars and vel < *vell < PIE *welsi don't exhibit it. (In fact pār does have a long vowel in the nom. sg., and actually exhibits the exact same length alternation sāl does; I'm not sure why Sihler thinks it doesn't.)
De Vaan, in his Etymological Dictionary of Latin and the other Italic languages, instead holds that the paradigm of sāl continues PIE ablaut directly, with a nom. sg. *seh₂-l-s and an acc. sg. *sh₂-el-m (De Vaan, of the Leiden school, doesn't reconstruct PIE *a):
As far as I can tell Latin would be alone in preserving this alleged ablaut (Greek ἅλς, as said, has short vowels across the board), and it's also not at all clear to me why, in this presumably proterokinetic word, the accusative singular would be weak.
On balance, I think the most parsimonious view is that the long a in sāl is due to compensatory lengthening because of the loss of the original final *s, and if this seems irregular it's only because it happens to be the only word reflecting earlier *-als—I can't think of any others, at least. (Animal and tribunal do not.)