How to Download and install plugin database remotely

To directly answer your questions:

Your proposed solution is indeed viable, just make sure your CDN solution (Amazon S3 for example) is configured to accept both secure (http) and insecure (https) connections.

As far as your next question, CSV is by nature a great way to store a representation of a table. Another alternative (without seeing an example set of data that you are working with) is XML. That might be a good fit as well because it allows one-to-many relationships.

JSON might also fit well to ease the transition between text and a database.

That being said though, the hands-down best solution is to build an API service yourself and allow your plugin to communicate with it.