"optimize MIDI capabilities"
Buy a dedicated MIDI-over-USB interface with 2 or preferably 4 I/O. This way you don't have to constantly re-patch your MIDI I/O. Just set it and forget it. Also, be aware that there are issues with trying to use multiple USB MIDI devices at once, at least in XP Pro and Sonar. I gave up trying to use an MPK49 and a MIDIsport at the same time because Sonar only wanted to recognize one or the other and not both at the same time. Now the MPK is routed through the MIDIsport and powered with a Radio Shack adapter.
Use MIDI-OX and MIDI Yoke to configure your MIDI ports into your DAW software. MIDI OX will also do virtual keyboard splits and allow you to save setups where you can control either soft synths and/or other MIDI devices in real time while ignoring other devices you don't want sounding, without constantly changing MIDI send/receive channels in either the controller or the device you want to control.
You don't mention if the electric piano is MIDI capable or not. The extra MIDI ports would also allow for an outboard drum machine or other future MIDI devices.
The DAW software will sync all your MIDI devices if they are properly configured to receive MIDI Time Code. The DAW becomes the master and the MIDI devices are the slaves.
MAudio MIDIsport 4x4 is a solid piece of gear with stable drivers. About $150US.
Also, for Reason you want to max out the amount of RAM in your computer, and also max out the virtual memory available. If you're running two HD's always put your soft synths/samples on the same drive with Cakewalk, and record your audio tracks to the second drive. It's too much work for a single HD to find the samples and play them back while streaming audio at the same time. It's do-able, but you'll have latency on the soft synths and/or audio drop outs.