Just write your own code, using a stack like it's meant to be used.
You have your search stack. Empty it into a temp stack until you find what you want or hit the end.
Then take your temp stack contents and empty into the search stack. Voila! O(n) search algorithm for a stack.
You probably should do the same for a queue. It's kind of weird to be (mis)using data structures like this. You only need the search queue and a reference to the first thing.
Make a record of the first thing in the queue in the beginning.
Dequeue and enqueue every element until you get back to the very first thing initially in the queue.
If you happened to come across your search thing, excellent. Make a note of this.
O(n) search algorithm for a queue.
Note that O(n) is as good as you can hope to do on an unsorted collection of things anyway, and since stacks and queues aren't sorted according to the data but according to the order they are inserted, the find() thing can only do better by a constant factor. Don't worry about it.