Another, assuming your strings conform to the format of ending with 3 digits -
(defun foo ( l )
(mapcar '(lambda ( n ) (nth n l))
(vl-sort-i (mapcar '(lambda ( x ) (atoi (substr x (- (strlen x) 2)))) l) '<)
)
)
_$ (foo '("ABC-ABD.002" "ABD.003" "ABD.001" "ABD.110" "ABC-ABD.050"))
("ABD.001" "ABC-ABD.002" "ABD.003" "ABC-ABD.050" "ABD.110")