I havent used it but i think you can keymap the different bindings as far as casting goes you can make macros like
Code:
/target [target="main char", nodead, help, exists]
/cast [target=targettarget, harm] [] Chain Lightning
it will target the main character if they are there and cast on their target else it will just cast on your target.