to create a virtual event you need the Custom Post Type add-on that will add an option to each post type with this label: Disable physical location?
Once enabled, all listings for that CPT will have no address fields and maps.
For the second part, some customization would be needed. Currently, the Events Ticket Marketplace is designed for physical events, but it could be adapted…
I hope this helps.