I've read (for example, http://radagast.se/othello/Help/order.html) that searching on the best moves at each level first (which can be found using iterative deepening) makes the search go much faster.
How would one go about searching on the best moves possible without using too much additional memory and cpu time?
If you know, a priori, how to search on the best moves, you wouldn't need to do the search in the first place. What you can do often requires some expertise in the game you are trying to solve. For instance, in checkers, you might try evaluating all moves that result in a king before moves that don't.