While the "no locals" policy is not that unusual, the hotel's failure to disclose it on IHG's booking site is pretty outrageous, especially since:
1. it would be easy for the property to do so; and
2. the property
does disclose the policy on Travelocity's site:
"Only bookings from non-local guests are accepted; guests whose residence is within 50 mi (80 km) of the property will not be allowed to check in"
Source:
https://www.travelocity.com/Roanoke-...el-Information
(Scroll down to "policies.")
In terms of compensation, I think that that would depend upon how badly you were inconvenienced, and whether you had to pay more for accommodations elsewhere. And I would make the point to the IHG representative that if third-party booking sites have more accurate information about an IHG property than the IHG website or app does, that will only encourage travelers to book through third-party sites. I'm pretty sure that IHG would prefer that travelers not do so.
Good luck, and please let us know the outcome.