A MAX232 makes a great level shifter for both TX and RX. You could hack it to 0-10V by omitting one capacitor from the recommended circuit and connect V- to ground. But be aware that it reverses the polarity too: a HIGH input gives a low-voltage output.
Looks like both C2 and C4 would be unnecessary if you did not need the voltage inverter function.SoftwareSerial can invert the data. Some of the more advanced Arduinos like the Teensy can do it in hardware but SoftwareSerial will be easier.