This is a multi-part question. The first thing to note is your use of
Excel as a database. There was a time I would argue that Excel is a
financial utility and Access is a database system, however, with Office
2007 about to hit shelves with it's 1Million + rows and 16,000+ columns
per sheet, I believe Excel will become more of a database tool whether
experts want it to or not.
On to your questions.
1) form and dates
a. Insert a User Form from within the VBE. Add two text fields for
date entry, and if you want, you can even include a calendar utility
from the tools part of the forms toolbar. A little more code will be
needed to grab the date from the user selection, but it makes the
program look slicker.
b. Have the users enter the "to" and "from" dates into the
appropriate fields, and then run your program based on these dates by
adding a button to the form.
2) The pivot Table
a. There is more than one way to approach this, but one is to take
your data from step 1, which will filter only the records you want, and
have this data copy to a second spreadsheet. Have your pivot table work
off this second sheet, and viola, you have only the records showing from
the chosen date criteria.