Workflow should be able to do it. You can query a spreadsheet if you setup the appropriate ODBC. I have done something like this before. It goes something like the following:
Create 3 tokens. MissingNumbers(multivalue), StartNumber, LargestNumber (set to 0)
I assign the first number to the start number token. So the smallest check number. In my scenario I didnt know the end number so had to find that as well. I did a search for all documents with the numer I needed (happened to be the name of my documents). You will need to get it from the metadata. Then for each result I simply checked if the current number is greater than the Largest Number. This will essentially tell you what the biggest number is in your range.
Next part (though still part of the same workflow). You are going to repeast as long as your startingnumber is less than our equal to your largestnumber. Search for the document with the check number that has the starting token. Check to see if the document exists. If it does, do nothing. If it doesnt, add its number to the missingnumber multivalue token. Then add 1 to your starting number and update the starting number token with that incremented value.
The very last thing I have is an email that emails me the multivalue missingnumber token.
In short, you get your smallest number and then your largest number. Search for your number starting with the smallest number and then increment by 1 and repeat. If you find it, do nothing, if you dont find it, log it.