Hola:
Yo mismo puse la respuesta en las FAQs, y es un rotundo no... para subir archivos debes tener un formulario, el método post y el enctype="multipart/form-data", cabecera no aceptada por el objeto XMLHttpRequest... además solo se pueden enviar vía ajax elementos existentes en la página, y no es posible desde una página normal, acceder a datos (en este caso ficheros) del navegador del visitante.
La única posibilidad es la que has mencionado... un form y un iframe o popup.
Saludos