Update: The link below does not have a complete answer. Having to set the path or variable in two places (one for GUI and one for shell) is lame.
No
You can read up on linux, which is pretty close to what Mac OS X is. Or you can read up on BSD Unix, which is a little closer. For the most part, the differences between Linux and BSD don't amount to much.
/etc/profile are system environment variables.
~/.profile are user-specific environment variables.
"where should I set my JAVA_HOME variable?"
/etc/profile? Generally, I prefer not to mess with system-wide settings even though I'm the only user. I prefer to edit my local settings.