Archer30,
It seems that the first method will be quite effective if we have a simple and fast function for calculating the distance between two hexes.
The second way can be implemented if you come up with a fairly simple algorithm for bypassing hexes along a spiral path.
I think this can be done by converting the hex numbers to pairs of coordinates (row, column).
The second way seems more interesting to me, and I will think about it.