How would you restrict a site so that it's only accessible to people in the same (a) City, (b) Country as the website?
This is for Windows Server 2008 & IIS7
MaxMind provides GeoIP database licensing which is fairly accurate - there are a variety of ways you could implement a solution with access restrictions parsed from the information or built into an application.
Why would you want to do that?
Perhaps you could instead restrict payments to be from specific countries or deliveries to be to specific countries.
Or find out how the BBC restrict iplayer.