these are the things you need:
for replacement of " " with "":
$replace(string, ,)
for replacement of invalide filename characters:
$validate(filename,_)
for shortening the year to four diggits.
$num(%year%,4)
i think this would be your command:
$validate($replace(VA_-%publisher%-%album%$num(%year%,4)\%discnumber%$num(%track%,2)-$lower(%artist%-%title%), ,),)
you know that you can also format directory names without creating and moving all files in a new directory?
action: Format Value
field: DIRECTORY
format string: $validate($replace(VA-%publisher%-%album%$num(%year%,4), ,),)
combine this with format filename in a action group:
action: Format Value
field: FILENAME
format string: $validate($replace(%discnumber%$num(%track%,2)-$lower(%artist%-%title%), ,),_)
You can create playlists and with export also nfo files.
But if you think of importing information from these files into your audiofiles, rather not.
If you rename them to .txt files, you could use the Text File - Tag converter, but:
you could use that to name your audiofiles as they are listed in a .m3u file, but it's much easier to create a new .m3u file acording to the existing file names.
you can get only the tracknames out of .nfo files (the ones which are typically spreaded with so called scene releases). for that you have to delete all information before the tracknames.
Mp3Tag Text File - Tag converter can only convert text when each line represents one audiofile.