Ich würde die Strings passend umbauen (zumindest fürs Sortieren):
0000002.0000
0000010.0000
0000010.1000
0000010.a000
0000012.0000
0000012.1a00
0000014.0000
0000020.0000
Ich nehme mal an, dieses Feld soll auch "menschenlesbar" sein. Das heißt, man braucht dann noch ein zweites Feld, in das dann die "umgebauten" Strings kommen (bestückt von einem Trigger), und gibt beim Sortieren das zweite Feld an.
Oder man benutzt einen berechneten Index.
Aber was spricht gegen die Collation?
P.S.: ein Problem bei "SILIMAR TO" ist, dass die Regex das ganze Feld matchen muss. Teilstrings werden nicht gefunden. Wenn Deine Regex nach "Ziffern Punkt Buchstaben" sucht, wird "Ziffern Punkt Buchstaben Ziffern" nicht gefunden.