Although not a gaming mouse I use the Logitech MX Revolution. It allows me to bind up to 10 keys and with a modifier I can go even more of course. Along with Set Point profiles I also use UberOptions which is a third party program that allows me to map any of the buttons to key strokes.