para tu primer problema se me imaginas que puedes usar un input oculto que se cargue con un valor y al pasar sobre el link la primera vez le cambies el valor del input...entonces preguntas por su valor por defecto antes de llamar a la funcion que se encarga de abrir tu ventana...
Código:
...
...
<script language=javascript>
function abrir()
{
if (document.formulario.flag)
{
//codigo que abre el pop up
....
....
//cambias el flag para que no funcione las demas veces...
document.formulario.flag.value = false;
}
}
</script>
</head>
<body>
<form name=formulario>
<input type="hidden" name="flag" value="true">
<a href onMouseOver="javascript:abrir();">
</body>
</form>
</body>