I find wallofbricks.com very useful. You can do the set search like you said, and also a brick search. You search the part and it will tell you what set has said part, and how much of it. Only problem is that its not updated with newer sets. Bricklink also has a function where you can find a parts list of a specific set.