I know a router doing DHCP can dynamically assign NAT'd IP addresses, but these need to be renewed. Perhaps, once it is assigned, there is a way to set an indefinite amount of time till renewal so it becomes permanent. Barring this, I'd suggest just manually set the IP of each computer so that it falls within the router's range of IP's. That way it is permanent. It would probably be easier doing the latter.
If you mean you truly want to use a hub connected to a Cable/DSL modem and not a router doing DHCP and NAT, then you probably can call the internet provider, tell them you are connecting a hub to their modem and purchase as many static IP's as you need from them. Their server will assign each machine on the hub a static, routable IP directly. The downside is, most internet providers by default give you one dynamic, routable IP. If you want this to be a static IP, you have to pay more. You must also pay more for more than 1 IP. You should call the internet provider and ask them how many IP's you get when you sign up and then ask how much extra it costs to get X number of static, routable IP's.