I figure if I'm going to get stuck using a fel-puppy, then I want his spell lock on the same key that I used for the succubus' seduce spell.

Spell Lock / Seduce combination macro:
/cast [target=focus,exists,nodead, pet:felhunter] Spell Lock; [pet:felhunter] Spell Lock; [target=focus,exists,nodead, pet:succubus] Seduction; [pet:succubus] Seduction
The above should let me pull that off. It's designed to work on either my focus target (preferred) or my existing target if there is no focused target.

Setting focus can probably be done with:
/focus [mod:ctrl,nomod:shift][@focus,noexists][@focus,dead]
/clearfocus [@focus,dead][@focus,noharm]
Which should set the focus if it is not yet set, and clear it if it is dead or friendly. Personally, I've always mapped "Ctrl-F" as my "set focus" key bind, with "Shift-F" as my "target focus" key bind. Setting focus within the script is done more in case I forget to set that before I send in the pet to seduce or spell lock a target.

My existing Seduction macro:
/clearfocus [modifier:alt]
/focus [target=focus,noexists]; [target=focus,dead]
/clearfocus [target=focus,help]
/petstay
/petfollow
/cast [pet:succubus,target=focus,exists,harm] Seduction; Seduction
The goal of the "/focus" command is to set focus on my current target, but only if I don't already have an existing target set as my focus. The conditionals are a bit trickier. The basic syntax for a command in 3.3 is "/command [conditions] [more conditions] parameters; [conditions] parameters ...". The line will execute from left to right, running the command with the first set of parameters if the first conditions are met, otherwise it will run with parameters found after the semicolon if those parameters are met. So when we look at:

/focus [target=focus,noexists]; [target=focus,dead]

You can read this as: "Set focus to my currently selected target if my old focus target is no longer existing or is dead". Whereas the following:

/focus [mod:ctrl,nomod:shift][@focus,noexists][@focus,dead]

That is a similar way to set the focus because "[@focus,noexists]" is identical in function to "[target=focus,noexists]" (and is a few character shorter). The modifiers at the front are designed to let Ctrl/Shift control whether the focus gets set or not. I don't understand that at the moment, and will ignore that. The three "[conditions]" can be treated as three separate "OR" conditions. If any of the three evaluate to true, then the "/focus" line will be executed. Since I am short on characters in this macro, I will switch to the easier form.

/focus [@focus,noexists][@focus,dead]

The "/clearfocus" line should go before the /focus line. The goal of /clearfocus is to clear my existing focus if it is something that can't be seduced or spell locked.

/clearfocus [@focus,noharm]

After that, we traditionally tell our Succubus to get out of combat, so that she doesn't hit the target that she just seduced. (Demons are so stupid.)

/petstay
/petfollow

Because we don't want the same thing to happen with the Felhunter, we will need to put modifying conditionals on those lines.

/petstay [pet:succubus]
/petfollow [pet:succubus]

Lastly, we can execute the spell cast line:

/cast [@focus,exists,nodead,pet:felhunter] Spell Lock; [pet:felhunter] Spell Lock; [@focus,exists,nodead,pet:succubus] Seduction; [pet:succubus] Seduction

Which gives us, in full:
/clearfocus [@focus,noharm]
/focus [@focus,noexists][@focus,dead]
/petfollow [pet:succubus]
/cast [@focus,exists,nodead, pet:felhunter] Spell Lock; [@focus,exists,nodead, pet:succubus] Seduction; [pet:felhunter] Spell Lock
This totals up to 254/255 characters, which is right up against the limit. Hopefully I won't have to add back in /petstay.

Other spells

My Haunt spell is designed to activate my gloves whenever my glove enchant (from Engineering) comes off of cooldown:
#showtooltip Haunt
/console Sound_EnableSFX 0;
/use 10
/console Sound_EnableSFX 1;
/script UIErrorsFrame:Clear()
/cast Haunt


Adding Devour Magic to VuhDo

I use VuhDo for my raid frames, mostly because it makes healing a lot easier when you have lots of priest spells that need to be cast on the run or quickly. I'm pretty sure that you have to create a macro in order to do it, I'm still testing this out though. My goal is so that I can click the side mouse button and have my Felhunter cast Devour Magic on whoever I current have the mouse on in the raid frame.