1) You can, what I usually do is that I create a variable that changes its value in each one of the cycles that are executed by a FOR. Something like this:
FOR EACH Date IN $(ListaFechas)
LET QVD_SALES_HDR = 'SALES_HDR_' & Date( Date, 'YYYYMM');
STORE $(QVD_SALES_HDR) INTO $(QVD_SALES_HDR).qvd;
2) You can do that too. I think your sintaxis should work, although I never create prefixed qvds, I always use postfix.