bash and tcsh are two of the more common interactive shells for UNIX and UNIX-like operating systems. bash is a derivative of the Bourne shell (/bin/sh); its name stands for "Bourne-again shell" - a bad pun. On most linux systems, /bin/sh is actually bash (one could make a good argument that this is a bad thing, but I digress).
tcsh is a derivative of the c shell (csh), but with many improvements.
if you haven't used either before, I'd suggest going with bash, but it really doesn't matter - for most simple stuff you won't notice the difference.
a shell basically translates your commands into something the operating system can understand. when you ssh or telnet to a UNIX machine, you're generally taken into an interactive shell; you'll see some sort of prompt, ie:
from there, you can enter commands.
I'd suggest these two kbase entries if you're not familiar with this environment at all.
You can also use ksh (pdksh) or zsh with our system, by using the 'chsh' command (the changes will be retained if the shell is valid for our system).
I personally am a big fan of zsh.
See above; basically, it means that you can telnet / ssh into the server.
A lot of things!
Your best bet is to give them access to certain parts of the web control panel. You have pretty fine grained control over this. Check out 'Home' => 'Account Privileges" in the web admin panel.