What Cattle Rustler said, but with answers:
1. Will I have to leave my computer on all the time if I want it running all the time?
Yes
2. I don't want my ip adress showing. Will a free redirct name stop this?
Not really. The pages (assuming it's a webserver) will be retreived from your IP in any log (or status bar). Also, if you went for a dyndns.org solution, then the domain would just resolve to your IP.
3. Will hackers and such be able to access my files?
Depends what O/S you use
I don't really know much about hacking, but if I was going to use my own personal machine, I'd make sure it didn't matter if it was nuked.
4. What kind of software will I need to to protect my computer from hackers and viruses?
Again, depends on O/S. I don't really know much about high grade security, so I couldn't comment.
To to summarise, don't do it. I mean, do it because it's fun, but don't run a production website from your home PC. I run FTP, SSH, IRC Bot, apache and mysql services from my xbox, but that's only for fun or a temporary service to a friend. I certainly wouldn't like to run a full blown website off it - my beloved upstream!
If you were MEANT to understand it, we wouldn't have called it 'code'