I usually handle midi splits and things like that from my host application (MainStage). However, I built a midi routing app in Max/MSP, called "Channel Cycler", that acts as an intermediary, and allows me to cycle the outgoing channel with a midi footswitch or program change buttons. It also keeps track of which channel the notes came in on so that the note off goes to the correct channel (this is the danger of having a simple "channel change" command on the controller, if you're holding down a key, then you'll get an infinite stuck note). It can even receive from a second "mirrored" keyboard controller, in my case a wireless Keytar.
This setup basically lets me use my board as if it's 6+ virtual boards, all with their own splits and ranges, sort of like virtual desktops, but with a keyboard. I've got it compiled as a standalone app for Mac. Send me a private message if this is something you'd be interested in using, and I can host a copy.
Otherwise, you're kind of out of luck. I've yet to see any keyboard that had this functionality, besides a simple "channel change" command, which I DON'T recommend because of the aforementioned stuck note problem.