I think you can do this, although I haven't actually tested.
Express Talk has support for multiple SIP accounts, I'm going to make an assumption here and say that Express Talk probably uses the first account to make outgoing calls (and subsequent accounts if the first one fails).
Under this assumption, if you have your outgoing provider on account 1 and your incoming provider on account 2, you should receive all incoming calls from account 2 and be able to make outgoing calls on line 1.
Note: Let me re-iterate that I have not tested this, Express Talk may have different behavior. I'm just saying if I was the programmer, that is how I would set Express Talk up.