Podrías hacer algo como un condicional o un select case, construyendo una u otra función, dependiendo de si existe o no el parámetro.
 
Suponiendo parm2 y parm3 opcionales: 
Ej: 
Código:
 if parm2<>"" and parm3<>"" then ' o poniendo: if (parm2<>"" and parm3<>"") or (not isnull(parm2) and not isnull(parm3)) then
   FUNCTION hola(parm1,parm2,parm3)
   response.Write(parm1)
   response.Write(parm2) 
   response.Write(parm3) 
   END FUNCTION
end if
  Lo mismo para otros casos: 
Código:
 if parm2<>"" and parm3="" then ' o poniendo: if (parm2<>"" and parm3="") or (not isnull(parm2) and isnull(parm3)) then
   FUNCTION hola(parm1,parm2)
   response.Write(parm1)
   response.Write(parm2) 
   END FUNCTION
end if
  Supongo que funcionaría... 
Editado: Me acabo de dar cuenta que este tema ha sido resucitado de las cenizas.