Hola,
me parece que una compañía del estilo de los ISPs tiene un rango bien definido de IPs que puede otorgar. En base a ese rango de IPs puedes realizar la filtración.
Un ejemplo de bloques de IPs de un ISP
Si puedes obtener la MAC address pero sólo si las personas accesando el sitio web estan en tu misma red de área local. Lo cual, más probablemente, no será así. xD
Saludos.