Theoretically you can. But it won't be very efficient at all to load a large list of IPs in the .htaccess for every page view. You are better off, using a system to check the country of the IP via the scripts on your page for example.
Yes, you can. Go ahead and check out the block assignments which are at http://www.iana.org . You will need to restrict traffic to the ARIN blocks (which consequently, will still let Canadian and African traffic through since those regions do not have their own regional registries).