Forge CBC-MAC given the MAC of two messages and of their concatenation
Yes, your understanding is correct.  With the CBC-MAC's of $(a), (b)$ and $(a||b)$ you can forge the following new messages:

$(a||b \oplus MAC(a)), \\
(b||a \oplus MAC(b)), \\
(b||b \oplus MAC(b)),\\
(a||a \oplus MAC(a)),\\
(a||b||a \oplus MAC(a||b)), \\
(a||b||b \oplus MAC(a||b)), \\
(a||b \oplus MAC(a)||a \oplus MAC(b))\\
(a||b \oplus MAC(a)||b \oplus MAC(b))\\$

...And so on and so forth until you get tired of pwning CBC-MAC with forgeries (assuming the recipient accepts messages longer than the one-to-two blocks we know from the question).