Batch script that renames windows dynamically with SetWindowText so you only need one shortcut.
Remove the two first lines that launches the client and waits, and this should even work when run after launch from Battle.net .

Code:
$ECHO OFFSTART "" "C:\Games\World of Warcraft\_classic_\WowClassic.exe"
TIMEOUT /T 1
TASKLIST /FI "WINDOWTITLE eq WoW_BG" | FINDSTR "WowClassic.exe"
IF ERRORLEVEL 1 "C:\Games\World of Warcraft\_classic_\SetWindowText.exe" "World of Warcraft" "WoW_BG"
TASKLIST /FI "WINDOWTITLE eq WoW1" | FINDSTR "WowClassic.exe"
IF ERRORLEVEL 1 "C:\Games\World of Warcraft\_classic_\SetWindowText.exe" "World of Warcraft" "WoW1"
TASKLIST /FI "WINDOWTITLE eq WoW2" | FINDSTR "WowClassic.exe"
IF ERRORLEVEL 1 "C:\Games\World of Warcraft\_classic_\SetWindowText.exe" "World of Warcraft" "WoW2"
TASKLIST /FI "WINDOWTITLE eq WoW3" | FINDSTR "WowClassic.exe"
IF ERRORLEVEL 1 "C:\Games\World of Warcraft\_classic_\SetWindowText.exe" "World of Warcraft" "WoW3"
REM .... add code for the number of clients.