General

Do I need separate NRI accounts for repatriation and non-repatriation investments?

No, you need to have one ICICI Direct NRI account for investments with repatriation and non-repatriation basis. However you need to have two separate bank accounts respectively i.e. NRE and NRO, which would be linked with your ICICI Direct NRI account. Your DP account(s) with repatriation and non-repatriation basis shall be accordingly linked with ICICI Direct NRI account.
You need to fill up only one account opening form for opening all the above accounts.