Actually, it would be much more efficient/faster than what you are currently using. This is because you don't actually have to send/receive any data. You just open the socket, and close it as soon as it opened. $sockerr will be filled if the host doesn't exist.

Btw, you should specify some of the flags when using ping.exe, like -n 1, that will make it much faster, as the default is 4 echo requests that are sent.

/checkhost <url>

alias checkhost sockopen checkhost $+ $ticks $$1 80
[color:red]  [/color] 
on *:sockopen:checkhost*:{
  echo -a $iif($sockerr,$false,$true - $sock($sockname).ip)
  sockclose $sockname

I am far from any sort of network/internet expert, but I think this will suffice for your specific problem.