Right now we have 50 floating IPs allocated to the 'tools' project. I suspect that this is just to hack around a routing issue or something -- would be good if we could free them since we only have 126 floating IPs available for Labs in total.
Cf. also T151704 to ask Freenode to lift/ease restrictions on IRC bots.
For applications on the grid we could define a resource has_own_ip that only execution nodes with their own IPs have and bots could request. If for example only half of the execution nodes had that resource and their own IP, that might still be enough to satisfy Freenode's (and similar) policies, while freeing a number of IPs.
Of course, with cooperation from Freenode, we could also define a resource has_freenode_ip that only execution nodes with IPs white-listed by Freenode have.