If I build a PowerApp accessing data from CDS (built from pooling data from couple of other databases), in future can a non-Microsoft application access the data in a CDS? If yes, how?
Would it be an incorrect decision to put reusable data in CDS?
CDS is more than just a database. It is a platform and provides odata web api, so using that REST endpoints your can access the data from anywhere/everywhere.
PowerApps/Power Automate use the native connector to CDS environment and act as a wrapper for authentication. When you are building other channels like web app, using non-Microsoft technology also - you can access the REST web api. You may need to register the app in Azure Active directory (AAD) for authenticating CDS user account as an extra step.