Is there a way, using Insight, to isolate SQL calls in a given program?
Yes, you can isolate the SQL calls in a given program. Insight Data Collector has to be running to monitor the SQL. In Chapter 7, page 20 of the Insight User Guide under the sub-heading of currently Executing SQL Panel, there is an example of SQL Text screen with the program being called on the Currently Executing SQL panel. With that information you can isolate SQL statements using the most resources and the plans they are running under and generate explain plans for those statements only. This will allow you to make rapid SQL tuning / table and/or index change recommendations more effectively than if you have to research every "bad" plan in the system.