timcopeland, I do not recommend softserial for any processor as it disables interrupts while reading serial bits in order to get bit timing right.
However, I recommend using I2C to connect your Spark and Mega together. A similar connection was discussed in this topic:
On the Mega side, one possible solution is to run Firmata which acts like Spark Tinker. There is an I2C version "example" in the Arduino 1.55r2 libraries I looked at. This would allow you to send the types of simple commands you are looking for. What's nice with Firmata is it would make your Arduinos appear "generic" to your Sparks, providing a consistent and simple command structure. Let me know if you need any help.