TL;DR There is no official limit of GPU's on cycles but setups bigger than 10 GPU's were never tested so far.
After not so extensive research I've contacted one of the blender developers. According to him in this thread: Blender dev forum there is no official limit on cycles. However blender 2.80 is still under development and such a huge setup was never tested before by no one. At this moment I am unable to check it myself on 20 GPU's but I've done my best with what I had.
Natively(without my software, just pure blender) I was able to render on 10 NVidia GPU's both on CUDA and OpenCL concurrently.(commit 191b8951f7af, NVidia driver 398.11, Win10). Further commits were fine for CUDA but I was unable to run OpenCL so I had to checkout from the most recent to this particular one(no idea why, but it's beta so everything is possible). That is the maximum amount of GPU's I had on one node.
Non-natively(using my software to connect to GPU's via tcp/ip) I was able to render on 13 NVidia GPU's on OpenCL(no way to render on CUDA that way) concurrently.(commit 191b8951f7af, NVidia driver 398.11, Win10). All 20 GPU's were visible though. At this point(and in the closest future as well as I have to focus on the other project for now) I cannot conduct any other tests to check whether it's blender or my software.
When I will be back on this project I will provide more information both here and on blender thread, but for now that is all I know.