Thanks for your suggestion, Bill. I was looking to generate large number of random points for each bird location, each the same distance (D) as the bird from the release site, to assess whether the birds were located in a particular habitat more often than would be expected by chance. I could do this the painfully long way by randomly choosing angles and then using Pythagorean theorem to determine the locations of points with the same hypotenuse length as D. This is an very inelegant solution, so that's why I posted my question to the Spatial Analyst forum. If there was a simple way to do this somewhat like the method to generate random points within a polygon but with a condition that each point must be D from point A, this could work.
I think your solution would work, but as the grid cells may overlap multiple habitat classes within the habitat class layer, I'm not sure what the output would look like. Assessing habitat class at specific points seems more practical. Doing so at 1000 points would surely be a good approximation of the true proportions of 'available' habitat classes.