This works just fine. The script warns you in advance that you cannot use an anti-aliased selection, keep in mind that the data you want to expand from also needs to have non-anti-aliased edges for it to work fine. Thanks for the action Eric and Vrav.
Yeah, the xNormal plugin does this at the bottom of the filters menu. I still use the action script by Eric Chadwick, it adds a 4px padding, but I can't find it on his site or anywhere. The date is Nov 2005, so that's not a surprise. it does exactly what renderhjs said: download it here, 6kb