1. How should I go about getting the name that someone clicks on in chat window? Right now when I left-click a name it automatically brings up a whisper box to that person, but I'd like to override that function

    It's not that simple. The chat frames are notoriously prone to tainting, and the system is the same for items, quests and players. To even begin looking at that, you'll need to study the ChatFrame system code, in particular the OnHyperlinkClicked.