Hola
Como bien has dicho para saber que archivo quieres descargar tan solo tienes que pasar el nombre del archivo como parametro del formulario (GET o POST da lo mismo) una vez en el formulario lo guardas en un hidden.
Cuando el formulario este validado,
ya sea en javascritp o en PHP redireccionas a una página de esas típicas que dice "pulse aqui si el archivo no se descarga en 5 segundos", para hacer que la descarga se realice automaticamente tienes que utilizar el meta:
Código:
<META HTTP-EQUIV="refresh" content="5,..">
no es tan complicado como lo pintas.