Company A builds an app and sells it to company B. Company B distributes the app to its employees.
My understanding is that company B will need to have an Apple Enterprise account in order to install and distribute the app to their employees. Company A can not distribute the app to company B using their (company A) enterprise account.
Is this correct?
Second Question: During Demo and Testing what is the best (and legal) approach for Company A to install/distribute the app to company B and other random companies?
Yes, Company B will need the Enterprise account, for testing you could use AdHoc and include some of the UDID of the devices you want to test on.
Or you could just use the InHouse profile so all device can install the app. Doing this you might want to build some kind of restriction in your app, like to test if the version is still active.