BSD 4.3 and System V shells do support shell functions. Use unalias to remove aliases and unset to remove functions. To get rid of variables in these shells use unset and unsetenv. To get rid of the variables use unset. Although this may not be a complete listing, this provides the majority of information.
Some versions have system-wide .cshrc and .login files.
Every version puts them in different places. I would like to know more about the differences between the various shells. A very detailed comparison of sh, csh, tcsh, ksh, bash, zsh, and rc is available via anon. It doesn't discuss what dot files are used and the inheritance for environment variables and functions. To jump to a specific part, click the number above.