Investor/RT has a great "Custom Instrument" feature that allows you to create spreads (as well as custom indices, etc), track it tick by tick, AND...best of all, it creates historical data on the pair from the data of it's components...which is very nice.
http://www.linnsoft.com/qa/a/5.htm