Haricot est réputé être un de ces mots dont le h aspiré est instable. C'est loin d'être le seul, voir aussi l'handicapé/le handicapé ; l'hamburger/le hamburger ; l'harassement/le harassement ; l'anse/la anse ; l'auvent/le auvent, toutes des paires qui présentent beaucoup de variation parmi la population (parfois dans une zone géographique précise, parfois non).
Quant à la raison pour le h aspiré, il s'explique facilement pour le haricot au sens de ragout (il descend d'un /h/ germanique), mais beaucoup moins pour le légume. Je reproduis en l'adaptant un peu la section étymologie de l'entrée "haricot" du TLFi]1:
Sens 1 (ragout): déverbal de l'anc. verbe harigoter "déchiqueter, mettre en lambeaux" (1176-81, Chrétien de Troyes, Chevalier Lion, éd. M. Roques, 831), lequel est probablement un dérivé en -oter (cf. tapoter) de l'ancien bas francique. *hariôn "gâcher", prononcé *harijôn (d'où l'allemand verheeren "dévaster, détruire", ou l'anglais harry "harrasser, piller") et entré en Gallo-Romania sous la forme *harigôn. Hericot est peut-être dû à l'infl. d'écot "rameau élagué imparfaitement, chicot d'arbuste", le rapprochement de ces deux mots s'expliquant sans doute par le fait que la viande du haricot de mouton est découpée en morceaux irréguliers.
Sens 2 (légume): origine très discutée (v. FEW t. 16, p. 167b). Probablement issu de 1, ce légume entrant très souvent dans la composition du haricot de mouton. Un emprunt au mexica ayacotli (FEW t. 1, p. 190b) semble moins vraisemblable. Quant à l'hypothèse selon laquelle haricot serait issu de Calicut "Calcutta", lieu d'origine présumé de ce légume, elle doit être rejetée étant donné que l'expression fève de callicot (1651, Bonnefons, Le Jardinier françois, p. 207) est postérieure à feve d'aricot (1628).
La deuxième partie de cette notice est largement empruntée au FEW, qui rentre plus dans les détails mais arrive à la même conclusion.
Il semble probable que, même si le haricot légume (j'avais initialement écrit l'haricot) ne descend pas directement du haricot ragout, il a subi son influence (la derivation de /arikɔ/ à partir de /kalikɔ(t)/ ou de /ayakɔt/ est loin d'être évidente...), notamment par l'adjonction d'un h aspiré.