1. Each paying guest would have a file with everything they did with us (trip date, time, # in party, etc.) and all email correspondences. Is this possible?
This is not necessarily there. You CAN sort all of the backend records by name/email/etc and then see all records together from a specific user. Also all records can be exported in CSV files. You can select the event(s) then what data you want. Take your needed data and pull it into another program as needed.
2. The database should be searchable by an admin for any paying guest or a named participant on their trip and to create a trip roster or any individual trip and a separate payment roster for the same trip.
Again, the records are sortable and able to be exported. There is not a utility for creating trip rosters for an individual.
3. Create a location roster for all individuals who went to each particular location and send a mass email to this roster. This should be searchable by date, time, location, guest or participant name, group size, etc.
The frontend has the ability to list all attendees of the event and will show whatever data you have configured to show. The backend will show all registrants of a selected event. There is also an email function where you can create and send an email to all registrants of a selected event.
While DT Register is not setup exactly as you have detailed in your questions, you will find that it is the most customizable solution for Joomla and also has more frequent updates than other solutions. If there are features that you really need that are not there, we can also discuss custom work for you. Thanks.