<p>Is there a way to tell SQL Server to not cache certain types of plans?  For example, if you have a large number of users queries coming from SQL Server Management Studio, is there a way to tell these to not be cached in the plan cache, thus taking up memory and other resources?  Are there other behavioral tweaks that you can do to prevent adhoc queries from taking up resources on a production server?</p>

I don't know of any ... but, in general, I think that in most high-performance situations where you'd be worried about this level of detail, you'd probably want a production database that is protected from user-submitted queries in the first place. In production, it's not the little bit of memory for these query plans that will hurt you, it's users submitting queries that issue massive locks and grind your performance to a halt. As a basic architectural issue, you might consider either:
getting a replicated offline server that users can hit with their ad-hoc queries; or
restricting user interactions with the DB to a set of given stored procedures
If you really can't do either of those, and user-submitted query plans are really getting you down, you must be in a pretty unique situation. If you want to edit the question with more details, you might get better suggestions.
(Sorry I didn't answer the question you actually asked; hopefully someone more knowledgeable than me will do so.)