Bem, é claro que é possível, você simplesmente precisa de um banco de dados como Maxmind ou IPLocation ( link ), lá você encontrará as informações necessárias.
Com relação à porta, você pode usar qualquer firewall de código aberto para filtrar qualquer acesso a essa porta proveniente de fora do seu país.