You can indeed do this. However, the real problem is not the technicalities of carry over variables, units, etc., but the massive increase in the number of missions you have to make.
For example, a four mission campaign needs, you've guessed it, four missions. However, you want to have one mission with a choice you will need up to seven missions to create the campaign - that's nearly double. Even if there is only a choice for the final mission you will have 5 rather than 4, which is a 20% increase in the work required. In other words, before you embark on such a venture have a clear idea of what you're intending to do, otherwise you'll never finish it. Tricks like a choice leading to different versions of the same mission, and several paths leading back to the same mission, can help reduce the workload.
Having said that, I'd love to see more non-linear stuff. There are tutes in the Ed Depot on description.ext which might help.