By the way, I realize that I could have made one-line macros (or fewer line macros) of some of my examples in the original post, such as:

/assist party1
/cast fireball

could have been:

/cast [target=party1target,exists,harm,nodead] fireball

Likewise I could have had this one line macro do much of the work of shooting at the current target or acquiring and shooting at party1's target:

/cast [exists,harm,nodead] fireball; [target=party1target,exists,harm,nodead] fireball

However there are a couple of reasons I made it into a multiline macro:

1) I wanted to add /cast combustion to it.

2) I'm not always grouped in a party with the main character that I'm supporting but instead just following a lowbie around helping when needed. In this case I cannot use UNITID's like party1target, instead I have to use the lowbie's name in the /assist line.

So taking these things into account, my macro expanded into several lines. This is the same example from the OP but with a character name instead of a UNITID in the /assist line.

/cast [exists,harm,nodead] fireball
/stopmacro [exists,harm,nodead]
/cast combustion
/stopcasting
/assist malthor
/cast [exists,harm,nodead,combat] fireball; [exists,harm,nodead,nocombat] pyroblast

If you are always partied, then the last two lines could be combined to look like this:

/cast [target=party1target,exists,harm,nodead,combat] fireball; [target=party1target,exists,harm,nodead,nocombat] pyroblast

Which actually turns out to be longer in characters, though one less line. Using the /assist is more flexible I think and less cluttered.

Just thought I'd point this out in case someone might be wondering about it.