For the targetting issue I have two castsequence statements in the same macro. It works. Not sure if pointers are being tracked separately for the cast sequences or just one pointer for the macro. Regardless, it works to interweave friendly and harmful casts.

/castsequence reset=15/combat [target=party1] healing wave, ,lesser healing wave, ,lesser healing wave

/castsequence reset=15/combat [target=party1target] ,lightning bolt,,lightning bolt,