This question intrigued me and sent me into the details of
Foundations of Python Network Programming.
Think about it like this:
(1) You need to authenticate.
(2) You need to read the data.
(3) You need to find some way to display and manipulate the data.
I assume that your desire is for read-only functionality; i.e., you aren't trying to send the manipulated data back to the server?
The thing is, (1) and (2) are trivial. (3) is hard(er).
Here's simple code (tweaked from FoPNP) that spits out the contents of a web page:
import sys, urllib2
URL = raw_input("Where shall we go today? ") # ex.: http://www.google.com
req = urllib2.Request(URL)
fd = urllib2.urlopen(req)
while True:
data = fd.read(1024)
if not len(data):
break
sys.stdout.write(data)
Note that this is a really mindless program; it won't even think to attach the "http://" for you. If needed, authentication is handled by urllib2.HTTPBasicAuthHandler.
If you run it with, say,
http://www.google.com, you'll get the text version of the HTML.
This is where part (3) comes in. To get a Firefox-like rendering of the web-page,
your program has to replicate browser functionality. Congratulations! You get to re-write Netscape! YUCK.
Another possibility is that you could read in the HTML, tweak it (by parsing it, and then inserting stuff of your own), and then write it as a local .htm file that you could use Firefox (or IE if you must) to display. That's a do-able project, and it only requires learning to parse HTML.
Fortunately, the modules HTMLParser and htmllib are available to help you. I've never done this, so my help must stop here.
Jeff
P.S.
The other possibility would be to create your own FireFox extension to modify your browser to create the tools you need. That's probably the right solution for your problem, but I know nothing about that and can't even say whether it would be easy or hard. Here is a tutorial on writing FF extensions:
http://www.rietta.com/firefox/index.html