TL;DR
To elaborate my scenario, I have 4 different applications say A, B, C and D. Now C and D both application depend on A and B both.
C -> Requires A and B
D -> Requires A and B
This is an enterprise deployment and I want to force several device management policies in addition to prevent removing application A and B. I have looked over Device Management APIs which is now deprecated and EMM Provider documentations. Now what is the better solution for this scenario and if I am selecting EMM Provider over Device Management APIs, does that mean that the company will need to purchase EMM solution from one of their partners only?
You can use the new Google Android Management API to manage your devices and force install your apps. This API is free and anyone can use it.
There is currently a default quota of 10 devices, but Google will lift this quota as long as your use case is legitimate. For that you just need to apply to join the EMM Community, don't worry about the requirements they don't apply when you develop a solution for your own company.