What to use for timing in alarm circuits?



Hi,
I would like to make a small timed alarm to gift a friend. What I have
in mind is an input consisting of 3 'up arrow-marked' buttons so that
the user can cycle through all values of input (hours, minutes and
seconds). Then, when user presses the alarm enable button, this value
is fed to a timing circuit that makes the alarm ring after the set
time. Now, here is where I need help. The only reliable timing circuit
I can think of (with my admittedly limited electronics knowledge) is a
microprocessor, but that seems an overkill for such a simple thing. I
have also heard about a programmable timer 8253, but it has always
been explained in terms of interfacing with a uP, so I'd like to know
whether I can use it as an independent timer.
And as a side note, I would also like the user to be able to choose
among a few alarm sounds. Would it be better to design something like
here: http://www.noiseboy.net/nb.asp?page=elec/alevel/melodygen.htm
or would it be more sensible to use one of those multi-tone generator
ICs? I'm ready to take a little PITA if that would mean a significant
reduction of cost.. :)

.