Anyway, the idea is to make it so you can't dig for any card, or else it can fail, or else there are conditions... Ideally, I would like a card that can dig for different cards each turn.
What if you flip it around and make it more similar to Hunting Party?
Disco Dog$2 - Action
+1 Action
Reveal your hand and name a card that is not in your hand. Reveal cards from your deck until you reveal a copy of the named card. Put it into your hand and discard the rest.
You can find the same card for multiple Disco Dogs if you can play one copy before looking for the next. However, this requires village support for terminals.
If this is too powerful or if you really want to make them name different cards, the restriction could be extended: "name a card that is not in your hand or in play" (or, "in your play area" if you don't want opponents' durations to get in the way). Of course, that still allows you to dig for multiples of things that remove themselves from play... you could instead say "name a card that is not in your hand or that you have played this turn".
One other concern is that this would be a deck-flipping Tunnel-enabler. Maybe that's OK. If not, you could just say "put the rest into your discard pile".
Edit:You could also move it into Advisor territory.
Insanity Wolf$2 - Action
+1 Action
Name two differently named cards. The player on your left chooses one of them. Reveal cards from your deck until you reveal a copy of the chosen card. Put it into your hand and put the rest into your discard pile.
Edit 2: Clarified "Insanity Wolf" to have you name two
differently named cards. Not sure if just saying "different cards" is sufficient, being that could be interpreted as two different copies of the same named card.