Changing the web browser invoked by Thunderbird
When you click on a web link in Thunderbird, it invokes the default web browser for the operating system. You could change the default browser for your operating system but that effects other applications. Usually the best solution is to specify what browser Thunderbird can use by changing some settings using the config editor. You used to do this by setting the path for the browser with the network.protocol-handler.app.http and network.protocol-handler.app.https settings. While that setting is normally associated with Linux, it worked under Windows and OS X too. With recent versions you need to set network.protocol-handler.warn-external.http and network.protocol-handler.warn-external.https true and chose the desired browser from a popup window instead.
Use Tools -> Options -> Advanced -> General -> Config editor to launch the config editor. Enter network.protocol-handler.warn-external.http in the search field. It should return a line for both network.protocol-handler.warn-external.http and network.protocol-handler.warn-external.https. Double click on each of those two lines to toggle the settings from false to true. Exit the config editor and click on a link in a HTML message. It will popup a window asking you to select what browser to use when you click on a link in a message. If the browser you want to use isn't listed, select its path and check the checkbox to have it remember the setting. As a side effect it will add a entry in Tools -> Options ->Attachments -> Incoming for either "http" or "https" depending upon what type of link you clicked on. The list box for that setting will be set to the browser you just told it to use, but also have an entry for your systems default browser.
If you want to go back to using your systems browser select it in Tools -> Options ->Attachments -> Incoming, and then reset the network.protocol-handler.warn-external.http and network.protocol-handler.warn-external.https entries using the config editor. You can do that by searching for them, right clicking on each entry, and select "reset" from the context menu. That changes them back to the default value. 
Use Tools -> Options -> Advanced -> General -> Config editor to launch the config editor, right click on its listing, select New, select String, enter network.protocol-handler.app.http and then the complete path to whatever browser you want to use. If the setting already exists just double click on the setting to change the path. Do the same thing for network.protocol-handler.app.https to support secure connections. Some browsers support optional command line arguments such as specifying private browsing mode and opening the web page in a new tab. For example: "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -private -new-tab
The Open With add-on lets you specify what browser to use to open a link. However, you have to select that browser each time as the add-on is designed to support testing, not somebody who just wants to use a different browser than the default web browser with Thunderbird.
The Open With add-on lets you right click on a link and chose from a context menu what browser to use. You are not limited to the pre-defined browsers, you can add support for another browser by going to Tools -> Add-ons, pressing the Options button for the add-on, and then pressing the Add button. Its also possible to do things such as launch a second copy of your default system browser using a different profile. If you wanted to do that you'd press the Add button and navigate to where Firefox.exe is stored. Then select the Firefox entry that it added, press Edit and select Arguments. If you wanted to use profile XYZ you'd enter -P XYZ -no-remote as the command line arguments.
That will add a Firefox entry to the context menu when you right click on a link that can launch a second copy of Firefox using the XYZ profile. The -P is used to specify the profile name. The -no-remote enables running multiple copies of Firefox. Searching for Firefox in the config editor you should find something similar to
- extensions.openwith.manual.G0NyKiXA , a string set to "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P XYZ -no-remote
- extensions.openwith.manual.G0NyKiXA.name , a string set to firefox
If you edit extensions.openwith.manual.G0NyKiXA.name that will change the name of the entry in the context menu.