Why? Is there something inherently bad about free domains? I’m aware that they were used for scams and eventually some websites (like facebook) just blacklisted them but other TLD could be too.
On 1, you don’t really have to consolidate them just to check if the whole range is covered. You can just sort beginnings and ends together and then iterate over them with some tmp variable to check that you always have at least one beginning “open” (n log n).