I mean, if you buy it/attach it whatever to Impulse you use reactorthingy-ma-bob and if you buy it from steam then you use Steamworks. I don't know how realistic that is for a publisher to a) want to do or 2) actualy are capable of doing it.
Clearly the 'MW2 situation' is not useful.
Technically? Yes. Realistically? No.
This would be doable if Steamworks/Reactor were effectively drivers, and DirectX itself defined all the functionality. In that case the game would load whichever "online cloud stuff" driver the system has, and away it goes.
Such a thing doesn't exist right now though, so a lot of code has to be built explicitly to use Steamworks. To use Reactor instead requires building a bunch of other code, and whatever changes to the design are required to accomodate different functionality levels in the two. While this is technically possible, it's just not realistic.
In theory, this is something that either Microsoft or the PC Gaming Alliance should deal with. Of course, Microsoft just wants everything pushed onto GFWL, and the PC Gaming Alliance as far as I can tell is totally useless.