O SerialNumber irá vê-lo corretamente. A propriedade DeviceID também parecia promissora, mas isso é apenas estático no sistema.
Para testar, inseri duas unidades USB e executei o seguinte comando no PowerShell:
Get-WmiObject -Class Win32_Volume | select Name, DeviceID, SerialNumber
A saída inicial ficou assim:
Name DeviceID SerialNumber
---- -------- ------------
J:\ \?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\ 1893178287
H:\ \?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\ 3930884954
Eu ejetei os dois e os inseri novamente na ordem oposta, esperando que eles trocassem letras de unidade, mas eles os mantiveram, mas trocaram de posição na saída do PowerShell. (note que DeviceID e SerialNumber são os mesmos.)
Name DeviceID SerialNumber
---- -------- ------------
H:\ \?\Volume{56f496cc-28d3-11e5-8298-10604b833008}\ 3930884954
J:\ \?\Volume{56f4971c-28d3-11e5-8298-10604b833008}\ 1893178287
Finalmente eu inseri os sticks em outro computador, note que o deviceId é diferente, mas o número de série permanece o mesmo.
Name DeviceID SerialNumber
---- -------- ------------
E:\ \?\Volume{603a0c09-2674-11e5-b1db-0050569a754c}\ 3930884954
H:\ \?\Volume{603a0c15-2674-11e5-b1db-0050569a754c}\ 1893178287