I'm not following what you're trying to do. If a workspace has files a,b,c open when you close it, when you next open it, files a,b,c will be the only files open.
I don't know if it helps but if you search slick macro source for call_list, you'll see in wkspace.e there is _workspace_opened_ and _wkspace_close_ so you can write a function such as _workspace_opened_abc() and it will be called automatically when a workspace is opened. If you want to close all buffers before closing a workspace, you could try adding a call to close_all at the start of the workspace_close function in wkspace.e.