How many IP addresses could be assigned to one network interface at the same time? Are there any limits? Could user assign half of /8 subnet addresses to one interface and another half to another interface? Edit: I'm interested in Linux limits (if there are such).
In Linux you are only limited by available memory as each IP address consumes an amount of bytes of RAM, though very small. The exact amount can vary from version to version of the Linux kernel, but it is in the order of magnitude of few tens of bytes for each address itself plus some ancillary data, so you should be ok with assigning an entire /8 of the IPv4 address space (not the IPv6 though!) on a 4GB RAM machine. As to assigning half /8 (i.e. a /9) to one interface and the other half to another interface, it makes no practical difference in terms of memory usage.
In any case don’t use an interface alias for each address, like the legacy ifconfig command would do, as that would increase the memory footprint quite a bit.