Die Performance ist da eher vernachlässigbar, da bei deiner Methode die Variable erst mal temporär in varsize umkopiert wird, die restlichen Leerzeichen entfernt werden, dann die länge berechnet und anschließend die Variable wieder verworfen wird.
Ausserdem werden die linksstehenden Leerzeichen ja trotzdem bearbeitet.

%size wird bereits zur Compile-Zeit ausgelöst.

Für die Performance-Freaks:

d MyDS DS
d MyNum 18p 0
d MyChar 18
d MyInd 5I 0
d MyDig 1
d MyZDig 1 0 overlay(MyDig)

:
MyNum = MyNum*10+MyZDig;
: