CSV Data files for multiple requests within one collection

Hey @amruta.kale. That is a common use case and is supported by the app. Look at this thread Running a request multiple times with different data sets, it might help you get started in the right direction.
Your 4th point can be handled by using postman.setNextRequest(null). Read more about conditional workflows here. https://www.getpostman.com/docs/v6/postman/scripts/branching_and_looping

Feel free to reply here in case you are stuck and need further assistance.