Help/harm macro

For the basics, pins are your friend.

Not possible. If you’re testing if your target is friendly then it’ll also cast the spell on your target.

As for the rest:

#showtooltip
/cast [combat,@mouseover,help,dead] [combat,help,dead] Rebirth; [help,dead] Revive; [mod:shift,@focus,harm,nodead] [@mouseover,harm,nodead] Cyclone; [@mouseover,help,nodead] [help] Overgrowth; Cyclone

You can self-innervate after the cast. But this macro is also over the 255 limit.

#showtooltip
/cast [combat,@mouseover,help,dead] [combat,help,dead] Rebirth; [help,dead] Revive; [mod:shift,@focus,harm,nodead] [@mouseover,harm,nodead] Cyclone; [@mouseover,help,nodead] [help] Overgrowth; Cyclone
/stopmacro [@mouseover,harm] [@mouseover,dead] [harm] [dead]
/cast [@player] Innervate