Hi Vijay,
We have implemented several approval processes in the past within CRM, although this did not have an external approval component to it, you can still do it.
What we did is we created an entity that specifies the approval and routing rules. Basically the stages of approvals, the approver at each stage and any additional conditions.
When the user would click the "Route and Approve" (custom ribbon button), the system would pop up who the user should route to, and upon pressing OK, would validate the user has the rights to approve.
Once approved, the process would wait for the next person in queue to approve.
Since some of your users do not have licenses to CRM, you would have to build a custom page (outside of CRM) that the users can click on the approve button. Your CRM system could send them a notification with a link to the page. The page would then connect to CRM and mark the record as approved. You would of course have to set up some security or validation in place.
This solution is much more complicated than using Flow with the On-premise data gateway as David mentioned, but is an alternative for approval processes.
Hope this helps.