Nice... I can shave off four chars by taking off that $a variable. It still doesn't handle numbers like 100 correctly though; but so far only MeowChow's and mine, where I merely saved a few chars from MeowChow's solution, do. Here is your improved code, weighing in at a respectable 50 chars:
sub a {
($_=join"",sort pop=~/./g)!=459?1+a(-$_+reverse):1
#2345678901234567890123456789012345678901234567890
}