I guess I should outline my thinking... you could use a Name in Workbook A to store the sheet names:

Name: _Sheets
RefersTo: =GET.WORKBOOK(1)
You could then (to avoid issues re: closed file) add a sheet to Workbook A to list the sheet names - eg create a sheet called "sheetlist" and then

A1:
=INDEX(_Sheets,ROWS(A$1:A1))
copied down as far as necessary
You can then link to these cells from Workbook B as normal
(handling #REF! errors etc and trimming the references to remove the file name via formulae in Workbook B)