The 16F628's USART will happilly transmit Serial Synchronous for you in background, whilst you're receiving Asynchronous in foreground. Look at the Datasheet... it will generate the Synchronous Clock stream for you too. If you chose a PIC with two USARTs, you can have one receiving Async, and the other transmitting Sync with really minimal code beyond initialising the registers. Pick up Data from one register, drop it into the next... how difficult can it get? Async (Receive) is always slower than Sync (Transmit) at the same baud rate so you will never get a situation where you have to buffer data.