@EXPORT_EXCEL
isn't a variable, it's a Table variable which means it is scoped to the procedure or command that is executing: as soon as the execution ends (which is will right after issuing the exec command) the table will be destroyed - you can't just stick the table into an SQL command where the system expects a table name as part of it's DB.Table specification!
And even if you could, you wouldn't pass the table content to the operating system using that code as it wouldn't exist when bcp started executing!
To output in CSV, why not just use XML PATH:
SELECT SUBSTRING(
(SELECT ',' + CONVERT(varchar, Id) FROM myTable WHERE date BETWEEN '2011-01-01' AND '2012-01-01'
FOR XML PATH('')),2,100000) AS CSV
And write that?