For starters, don't do it like that. Never concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
One way to look at this is to use a substring, because Split removes the matching characters, so you will get an array of empty strings rather than anything shorter.
public static string[] GetShorterNumbers(string numbers)
{
int len = numbers.Length;
string[] result = new string[len];
for (int i = 0; i < len; i++)
{
result[i] = numbers.Substring(0, len - i);
}
return result;
}
Then you have a choice how to do this: either issue SQL commands for each string in turn until you get a match, or use an OR clause to do them all at once, and take the longest result.