To answer your questions directly:
You can only create a character starting on Normal difficulty. You'll have to defeat all 4 act bosses and complete the Prime Evil quest on Normal difficulty to go to Nightmare and play with your friend who is on Nightmare, and you'll have to redo this process for any character you create. This follows for other difficulties as well. Edit: There are now level restrictions: you must be 25 to advance to Nightmare, 50 to advance to Hell, and 60 to advance to Inferno.
You must be online when playing Diablo 3, so you can join your friends whenever you want. You can join a friend's game without invitation unless it is private. If it is private, message them asking for an invite.
If your friend just buys the game you can join him in his quests, but he cannot join you until he has unlocked the difficulty you are playing on.
One important thing to note is that the only restriction for friend joining you is that they have unlocked the difficulty you are playing on. Unlocking quests doesn't matter; only unlocking the difficulty does.
So if you want your friend to play with you, change your quest to a quest on their difficulty. Note that this doesn't mess up your save file or anything; you will be able to return to your previous quest and difficulty after you've played with your friend.
First click the Change Quest button in the main menu (notice I am currently on Hell difficulty):
Then select Normal Difficulty from the drop list:
And finally select the any quest (here I select Prime Evil) and click the Select Quest button:
Note the warning: the only drawback to this is you lose all progress for your current quest. So finish up what you were doing before switching your quests!
After clicking OK, then you should notice your current quest change in the main menu:
And now when you start the game your friend can join you.
I've done this with my friend to skip the Butcher on Hell difficulty, mostly because I wasn't geared to fight him toe-to-toe. Proof is here that joining your friends can help you skip bosses (I skipped Butcher but killed Belial):
However, to advance to the next difficulty you will have to defeat all four act bosses.
No way to move characters across accounts (or across servers, for that matter) that I know of. So, yeah, start over.
If you have a guest pass to give, I'd suggest you give him that instead.
Best Answer
Basically, you don't. Paragon points are account wide per character "type". The Four types being:
If you are paragon level 50 in a Non-Seasonal type they do not carry over to a Seasonal Hero. You start a season 100% from scratch. When any character reaches level 70 you will start to earn Paragon experience again. Those paragon levels will be available to all of your seasonal character though. At the end of the season all paragon experience earned will transfer over to their respective non-seasonal type as well.
For example you can have
Non-Seasonal Softcore - Paragon Level 50
Non-Seasonal Hardcore - Paragon Level 10
Seasonal Softcore - No Paragon Levels
Seasonal Hardcore - Paragon Level 30
At the end of the Season your Seasonal character will become Non-Seasonal Characters and the paragon experience earned will be transfered over to your non-seasonal pools. (So your Non-Seasonal Hardcore Paragon level will go up but not exactly 30 levels. Just 30 levels worth of experience.)
Non-Seasonal Softcore - Paragon Level 50 - stays the same
Non-Seasonal Hardcore - Paragon Level 10 + 30 levels of experience (level 34ish?)