There's a few options open to you (and probably many more) if you already have programming skills or are willing to dive in at the deep end and try.
1) Hardcore way - Learn C++ and MEL (as djknucklez1 mentioned) and create a custom tool from scratch
2) Middle of the road depending on programming skills - Use a custom development toolkit that encapsulates a lot of the tedious and hard work into easy to use libraries. One I'm going to be looking at playing with real soon is wxwidgets http://www.wxwidgets.org/
I found this after looking into a cool looking re-topology program called topogun which is based on it. wxwidgets is flexible on what programming languages can be used but you'll still need to know one of them or to dive in at the deep end and start learning one.
3) Lower end but still requiring programming skills - Learn MEL/Python (depending on your version of Maya) and build a custom interface that sits within Maya. I did one of these in the summer for my flocking tool (see my sig). It uses Python and generates a new window with lots of input sections etc. It's worth grabbing a copy to see how some of the commands work and should be well commented.
If you decide to dive in then good luck