I've changed my mind about the Virtuemart dependency approach - I think this might be over-kill.
I implemented a simple registration process using the ChronoForms extension. I thought about writing a plugin, but I don't think that's possible because my changes depend on some of the JEvents core. I don't know if depending on another extension like ChronoForms is the most elegant approach, either - but it's a quick way to get event registration working. Let me know if you recommend a better way of doing this that could potentially be integrated with the project and shared.
Here's the approach I took:
1. add a "capacity" field to the jevents_vevent table
2. add capacity get/set and display logic to admin "Edit Event" view/model (I put it next to "priority")
3. create a registration form with ChronoForms with a field for the event id (it will automatically create a registration form table and give you a list view of registrees)
4. add logic to form code to display if event is in the future and not full, or message appropriately
5. add ChronoForms plugin tags to event description
Now I'm going to look into payment with Google Checkout, or something..