When my web browser connects to a website, the source port my end is a number like 27825, what range of ports can it use and how regularly does it change?
When you connect to a website you are connecting on port 80 which is the default port for all HTTP services, you can connect to websites that use other ports such as 8080 but you need to use
http://domain.com:8080 unless they have the port 80 service redirect to another port.
Internal Loop backs
Now with this said and to answer your question, browsers establish connections on the remote host port that is setup on their server i.e port 80. Browsers do not communicate as far as I know on any other port unless the server its running on another port, if you are using a TCP monitor you will see Firefox, IE, Chrome etc operating on ports other than 80 then what your seeing is internal loop backs which these platforms use to communicate within the software. Take a look at TCP View from Microsoft you will notice that on the left side you have local port, and remote port. The local port is the internal loop back and the HTTP service is running on port 80 and that's how the data is being communicated externally.