I've never tried this, but Microsoft does have a sample project that demonstrates the creation of a container CAB file, which houses multiple CAB files within it. I would imagine you could add in the logic required to detect the mobile platform and execute the appropriate installer.
Multiple CAB Install @ MSDN: http://msdn.microsoft.com/en-us/library/bb158796.aspx
In practice, we've always built separate CAB files and, using the mechanisms provided by CEAppMgr, define a single "entry" in the Add/Remove Programs dialog of ActiveSync/WMDC that references our platform-specific CABs.
Another avenue would be creating a custom Setup.dll file as part of your CAB, which provides you the opportunity to perform actions before and after your CAB installation.