Marcus, I've just got to a point where I need an efficient way to create simple gap fill questions of the sort this thread is about. As I've suggested before it seems to me that another question type is not necessarily the most efficient way to get the desired efficiency. So I've drafted a preliminary question tools block. At this point its not even a block type but just javascript in html block.
So we start with some text in the question text of the cloze question:

To make some parts SA subquestions we simply activate the {SA} tool in the question tools and click on a word in the editor. The word will be wrapped with the SA syntax. If we want more than one word, we can select the desired string and the selection will be wrapped.

Suppose now that we want to de-SA one of the marked words. We activate the eraser tool, and as before click on the target word (or select the whole {:SA...} string) and the wrapping SA syntax will be removed.

These tools can be extended to allow complex setting of the subquestion. MC, for instance, could show a few input fields for the options. etc. 