I would do client side sorting using a custom comparer that pads the fields with 0 on the left for as much as needed.
customers.Sort((int)CustomerFieldIndex.SomeCharacterNumber, ListSortDirection.Ascending, new PaddedNumberComparer());
class PaddedNumberComparer: IComparer
{
public int Compare(object x, object y)
{
string paddedx = x.ToString().PadLeft(25, '0');
string paddedy = y.ToString().PadLeft(25, '0');
return paddedx.CompareTo(paddedy);
}
}
If you have decimals then you will want to take those into consideration also for the comparer.