It depends how fast your cable connection is. A dual ppro can saturate almost any cable/dsl line easily. Plus, 100 hits a day is easily not that much, but you do want to prepare for more hits in the future. For a file server, make sure the HD's are fast enough. How fast your webserver is depends on if you're serving static or dynamic material. You can serve static pages all day long and barely go over 3% cpu utilization. But if you're doing cgi, asp, php or other cpu intensive processes, a single user could max out your cpu for a bit.
Sharing the internet using ICS or some other software is not very cpu intensive at all. Since you're worried about cost, then a hardware router probably is out of the question although it is preferable.
For my setup, I host about 12 websites which have a total of about 500 hits a day and it's hosted on my slow 768/128 DSL line. One of the site is in my signature. For me the DSL line is the bottleneck, not the computer. Actually, I was thinking about popping in an old cyrix 333 into the webserver just to prove to some of my visitors that the cpu speed isn't all that important.
For example, a popular all in one solution are the cobalt Raq servers which until recently used an AMD k6 300 cpu. These were boxes that could run 200 websites (not hits). Webservering is a breeze compared to file serving.