Come 4.1 this is going to get a lot easier as gearswap kinda combines autoexec and spellcast in a nice convenient package if you know what you're doing. However, since that's not the release build yet i'll explain how i did this in 4.0 when i dual-boxed.
1. Using autoexec this is very easy. i'll show you mine for example.
my autoexec files are multi-layered
here's the one that catches which character i log into to load my character specific files
Autoexec.xml
Code
<?xml version="1.0" ?>
<autoexec>
<!-- This is an autocreated AutoExec file. the next line is commented out and not going to be ran, its to show an example on how to add commands to this file. -->
<register event="login_Nitroustaru" silent="true">
ae load nitroustaru.xml;
</register>
<register event="login_Atima" silent="true">
ae load atima.xml;
</register>
</autoexec>
here's my main one for my alt (Atima.xml)
Code
<register silent="true" event="jobchange_brd/*">
exec atima/brdaliases.txt;
input /macro book 2;
input /macro set 10;
</register>
<register silent="true" event="jobchange_whm/*">
exec atima/whmaliases.txt;
input /macro book 1;
input /macro set 10;
</register>
<register silent="true" event="jobchange_sch*">
exec atima/schaliases.txt;
input /macro book 3;
input /macro set 10;
</register>
<register silent="true" event="jobchange_rdm*">
exec atima/rdmaliases.txt;
input /macro book 4;
input /macro set 10;
</register>
and whmaliases.txt (in scripts/atima folder)
Code
alias g15_m2g1 ProtectraV;
alias g15_m2g2 ShellraV;
alias g15_m2g3 Stoneskin;
alias g15_m2g4 Esuna;
alias g15_m2g5 Auspice;
alias g15_m2g6 Boost-Str;
alias g15_m2g7 curaga5 nit;
alias g15_m2g8 curaga4 nit;
alias g15_m2g9 curaga nit;
alias g15_m2g10 afflatussolace;
alias g15_m2g11 afflatusmisery;
alias g15_m2g12 divinecaress;
alias g15_m2g13 sneak nit;
alias g15_m2g14 invisible nit;
alias g15_m2g16 sneak me;
alias g15_m2g17 invisible me;
alias g15_m2g15 input /item "Fanatic's Drink" atima;
alias g15_m2g18 input /item "Fool's Drink" atima;
input /echo Protectra V-------------Shellra V-----------Stoneskin;
input /echo Esuna-------------------Auspice-------------Boost-STR;
input /echo Curaga V----------------Curaga IV-----------Curaga;
input /echo Solace------------------Misery--------------Divine Caress;
input /echo Sneak Nit---------------Invisible Nit-------Fanatic's;
input /echo Sneak Me----------------Invisible Me--------Fool's Drink;
and to answer #3 my brdaliases.txt
Code
alias g15_m2g1 victorymarch;
alias g15_m2g2 advancingmarch;
alias g15_m2g3 tenuto;wait 1;chocobomazurka;
alias g15_m2g4 valorminuet5;
alias g15_m2g5 valorminuet4;
alias g15_m2g6 valorminuet3;
alias g15_m2g7 tenuto;wait 1.5;magesballad3 Atima;
alias g15_m2g8 tenuto;wait 1.5;magesballad2 Atima;
alias g15_m2g9 tenuto;wait 1.5;magesballad1 Atima;
alias g15_m2g10 Nightingale;
alias g15_m2g11 Troubadour;
alias g15_m2g12 Marcato;
alias g15_m2g13 Pianissimo;wait 1.5;magesballad3 t;
alias g15_m2g14 Pianissimo;wait 1.5;magesballad2 t;
alias g15_m2g16 sneak me;
alias g15_m2g17 invisible me;
alias g15_m2g15 input /item "Fanatic's Drink" atima;
alias g15_m2g18 input /item "Fool's Drink" atima;
input /echo March2 -------------March1--------------Mazurka;
input /echo Minuet5-------------Minuet4-------------Minuet3;
input /echo Ballad3-------------Ballad2-------------Ballad1;
input /echo Nightingale---------Troubadour----------Marcato;
input /echo Sneak Nit-----------Invisible Nit-------Fanatic's;
input /echo Sneak Me------------Invisible Me--------Fool's Drink;