You need to increase the number in /proc/sys/net/core/net_alias_max
before doing any aliases if you want to add more then 256 aliases to an interface. I tried as many as 32K on one i/f and it seems to work. This file writable despite being in /proc.
Note: the ifconfig command doesn't support more then three digits after the if name so eth0:30000 and eth0:300 will appear the same. Use cat /proc/net/dev instead.
Or maybe there's a better version of ifconfig... if anyone finds one please let me know