{offtopic} to @philip marlowe i know that static ips are costly but a solution of some kind is much needed .
i can think of two things -
1 - offer opening of ports via registering a request.
example - i want to open xyz port . i call/email you guys giving detailed info of the port i want to open and why i want to get it opened. your backend guys then forward the port on your main public ip. if a port is something like that can be abusive to your network you can deny the customers request. but if a port pertains to a video game , if it gets forwarded on your main public ip , it shouldnt cause any problem to anyone.
2 - create a portal that the customers can use to forward the ports. i dont know how this can be done, this can be abusive as well . but just a thought that came into my mind.
Will IPv6 suffice your needs or particularly IPv4 Public IP is required?
Excitel is working towards IPv6 as this will give basically unlimited Public IPs 🙂