I'd have to dig deeper to find the answer to your second question but the first bit should definitely be possible. In the Dynamics CRM SDK help look up RibbonDiffXml. This will give you information on how to alter the ribbon-
Use RibbonDiffXml to create declarative definitions of modifications to the default Microsoft Dynamics CRM 2011 ribbon.
You can export this XML via the customizations area and update it to have a custom button. In the actions of the button you can call a JavaScript method (from one of your web resources). Through the JavaScript you should be able to pop open a new email (either a CRM one or custom ISV).
I'd recommend using the built in email templates when possible.