Lo que dices es correcto, sólo que no puedes simplemente imprimir una variable de JavaScript en el HTML, debes usar el DOM (Document Object Model) que es un modelo de acceso a los elementos HTML desde Javascript (que por cierto, lo venimos usando desde el principio).
Para cambiar el href de un vínculo usas el objeto document con el método getElementById y el href
Código Javascript
:
Ver originalvar direccion = document.getElementById("correo").value;
document.getElementById("vinculo").href = "envio_datos.php?direccion_correo="+direccion;
Donde vinculo es el id del elemento <href>.
Y el resto del razonamiento es correcto, en envio_datos.php la variable direccion_correo la capturas con $_GET["direccion_correo"].
Si necesitas enviar variables como id de algo que el cliente no debe ver, recuerda usar los <input type="hidden"> que también puedes modificar su valor con document.getElementById("id").value ="El valor del hidden";.
Otra cosa, nunca uses JavaScript para comprobaciones importantes de los formularios ya que el cliente puede simplemente o no tener habilitado JavaScript, o un "cliente" mal intencionado puede desactivarlo y vulnerar tu sistema, usa JavaScript para avisarle digamos, rapido, al usuario de algún error, pero siempre resérvate la comprobación final desde PHP.