I would say ICS files are great for a standard importing and exporting of data, but you’ll want to definitely store the “live” data your application runs on in some sort of database for it to be both efficient and scalable. Constantly parsing plain text files without any sort of indexing will not be very efficient.
Once you have the data in a db, creating an ICS file for export should be easy when the user requests one.