Inspired by this post I've managed to implement the requested feature in my program Mtgdb.Gui, it's free and opensource.
The screenshot below shows the list of decks filtered by a condition that you own 90% or more from the Main deck.
So to search the decks based on cards you have collected, you need to
Step 0. Import the decks to Mtgdb.Gui. It can be be done as easy as drag-n-dropping a bunch of files or folders into it. See Wiki for details. I used Forge to quickly download ~5000 decks.
Step 1. Import your collection to Mtgdb.Gui. E.g. you can import from a plain-text file where each row is more or less like this:
2 Accomplished Automaton
You can also import your Magic The Gathering Online collection.
Step 2a. Sort the list of decks by percent of cards from Main deck you own in descending order, by clicking the corresponding field.
Step 2b. Alterternatively as in the screenshot above, you can filter the list of decks by using search input.
P.S. Let me stress it, I am the author of Mtgdb.Gui. It has to be perfectly clear, because the rules of this forum, as well as common human honesty, I believe, require people to be explicit when promoting their own product.