Whatever mouse you might consider, try it out first. There might be any number of programmable buttons and wheels on it, but the sheer size of the mouse may make it difficult and/or uncomfortable to use. If you have a really large-sized hand, this will be less of an issue.
I use a separate phone/tablet running Unified Remote where I put common commands I can do with my non-mousing hand but if you'd rather a mouse, just buy a gaming mouse and customize the buttons to the commands you would rather perform with your mouse hand. Most have profiles you can load per-program.