I would like to introduce further ranks for admirals, for Britain it would be rearadmiral of the blue/white/red and admiral of the blue/white/red, which should really difficult to reach (for admiral's rank at least 1000000 XP per level. Now, only high ranked players should be able to buy a flag fot port battles.
for example:
shallow water port: any rear admiral
deep water ports: any admiral
regional capitals: only highest admirals rank
as it is no great cost for experienced players to buy the flag for 100000 gold, i suggest to change the payment in copper, silver and gold coins, wich must be crafted.
as a base value i suggest to have a price of
1000 copper coins for shallow water ports
1000 silver coins for deep water ports
1000 gold coins for regional capitals.
as i mentioned it shall be a base value. we still need some modifier to protect smaller nations an slow down the expension of the larger ones. therefore i suggest to use the 1000 coins for having excactly equal shares on the map (if we have 4 nations and one ownes a quarter of the specific harbours it's 1000). if now one nations conquers some territory the price shall rise propotional to the owned ports, or if ports are lost, it shall decrease proportionally.
you can even think about an exponential rise or drop, which could even be fairer.
the advantage is, that the flag must be crafted and is really expensive. this will at least slow the big nations down in their expension, while small nation can conquer lost territory back at a reasonable price. and when not everyone can buy flags, but the highest ranks, the number of port battles should be further reduced, so the economy may be a little more stable.