How can I allow a person to create multiple orders at once, for both themselves and others?
Honestly, this sounds like a place where your best option will be custom code. The only thing I could see you doing without custom code is creating two variants for your event registration products, one that is free as a "reservation" and one that is the full price as an actual registration. This means the line items would be present on the order until the customer completes checkout, at which point you could process the order to split it up and then send out e-mail notifications as needed. To capture the e-mail address information, I'd add a field to your line item type to collect it as part of the Add to Cart form, allowing you to loop over the line items later and create user accounts / generate e-mails on a line-by-line basis. The main challenge there will be grouping multiple "reservations" into a single order via a simple rules loop... at the end of the day, this really smells like an ideal use case for custom code.