Hi,
by myself I'm using tmCommands which have as input multiple selections. To use them I work with TM's internal variable $TM_SELECTION since it stores all carets and selections as e.g. "1:7&3:20" or "1:2-1:4, 1:6, 2:12-2:14" - the only thing to do is to parse that string.
Cheers, Hans