I think this will work.
libname xx "c:\test";
data xx.a;
var1 = "testa";
run;
data xx.b;
var2 = "testb";
run;
proc sql noprint;
select memname into :dataset_names separated by ' '
from dictionary.tables
where lowcase(libname) = 'xx';
quit;
%put dataset_names = &dataset_names;
/* or you can use a data step */
data _null_;
set sashelp.vtable end=end;
where lowcase(libname) = 'xx';
length dataset_names $ 20;
retain dataset_names;
if _n_ = 1 then dataset_names = memname;
else dataset_names = strip(dataset_names) || ', ' || strip(memname) ;
if end then
do;
call symputx('dataset_names_2',dataset_names);
end;
run;
%put macro variable created by data step: &dataset_names_2;