I want to setup a customer option like Newsletter Subscription. But for transactional emails.
Is there an extension for that? How can I do it?
You will need to override the classes that are currently sending out these emails.
For the new account, it is
Mage_Customer_Model_Customer::sendNewAccountEmail().
For the order update, you can turn this off in the system configuration. Look in system -> configuration -> sales emails -> order comments: set 'enabled' to false.
There you can check if if user have opted in or not and then send mail or you can customize the below plugin to your need to add an additional check to event ie is opted for transaction email http://www.magentocommerce.com/magento-connect/disable-email-notifications.html