Algorithm: Find the first k longest substrings between two similar strings Consider two strings, S and T. Find the first k longest common non-overlapping substrings of S and T.
Depending on your application (and assuming I have correctly understood your general aim), a standard practical method will be to find all maximal repeated substrings between the two strings, number those substrings and then compute the longest increasing subsequence.  This is exactly what the bioinformatics tool Reputer does. See http://bibiserv.techfak.uni-bielefeld.de/reputer/ and 
http://bioinformatics.oxfordjournals.org/content/15/5/426 for an original reference.

This is is slightly super-linear time overall as you have to compute the longest increasing subsquence (see e.g. http://en.wikipedia.org/wiki/Longest_increasing_subsequence ).