We struggle with this one as well... Before you can route to multiple ISPs, you need to have a few things in order:
1) You need to be using BGP on your router(s).
2) You need to have your own BGP AS number
3) You usually will need your own registered IP block (not one assigned by one of the two ISPs). This is to overcome the issues Yizhar mentioned.
Even then, some ISPs won't share peering relationships with others, and some won't route beyond a certain mask (as an example, my corporation has a full registered class B address, but we need to route this at the C level, and we get pushback from ISPs to do this).
In the end, it was more trouble than it was worth for us. We did our research and determined which major ISPs (Tier 1) had backbones with multiple paths into our city. We chose a single ISP, but made sure that our local loop went to two geographically different POPs, and those POPs had multiple paths to the ISP backbone.
The scenario mentioned above can be done with ISP-assigned addresses, so assuming you have BGP set up correctly on your routers, the PIX will only see one default gw and the address space is routed through both POPs (though in a redunancy scenario and not load-balancing).
This setup has worked very well for us and we have not a total outage where we lost connectivity completely. Do keep in mind, however, that unless you have multiple LECs in your city, you will still be somewhat constrained by your LEC being a single point of failure.