In my current workplace, it's quite common for me to have multiple IIS worker processes running each referring to a different application pool. As I'm frequently attaching the debugger to one of these processes, I decided to knock up a quick Visual Studio addon to make this faster. It's only a very basic addon, which displays a popup winform with a listbox of current W3WP processes. The listbox actually displays the owner of that process, which in the case of the w3wp process, is the name of the application pool.
Once installed, you can assign a keyboard shortcut to it in the usual Visual Studio keyboard settings. Personally, I've assigned shift-alt-1 to it, but this shortcut can be anything you want, or you can just use the option in the Tools menu.
Once the listbox appears, you can select which instance of W3WP you wish to attach to, and either press enter or double-click on it to attach. If you've previously attached to a process that still exists, then this item in the listbox will be selected automatically. Pressing escape will close the dialog without attaching the debugger.
As I say, this is just a very basic addon (my first attempt at a Visual Studio addon). I'm planning on looking into adding support for remote profiles, to speed up attaching to remote IIS processes.
The sourcecode and compiled assembly can be found on Github:
http://www.github.com/dracan/WpAttach
Feel free to add any feedback or feature requests either here or on Github.