Hey Josh.
The ulitimate signup solution.
I would recommend SQL server with Web Services from the Database Accelerator.Qdabra Database Accelerator Suite Version 2.1 - Developer
You have one form which an admin uses to setup the event and specify the items needed and the amounts.
They email everyone a notification with the link to the signup form.
Then your sign up form uses an active directory web service to identify the form user.
They see the "menu" and the remaining numbers needed for each component.
They select items and amounts and/or add themselves to the volunteer roster.
When they submit they recieve an email receipt and the data from the form is submitted to the database so the next form user can see only the amounts remaining.
SQL reports can be ran on the SQL data showing the percentage complete or the distribution of participation or to create an email list for those participating.
Fulfillment could also be tracked if neccessary.
Those are some of my ideas.