Holding block difficulty constant would cause the blocks-per-hour rate to vary wildly, which is undesirable for technical reasons (as opposed to policy reasons, which are more debatable).
Holding domain difficulty (as measured in hashes per domain) constant would result in domains becoming exponentially cheaper with advances in computing hardware. This is probably not what we want.
The entire point of having raising or falling difficulty is to limit the number of blocks per hour, to keep it steady. This is to ensure a steady rate of (in bitcoins case) new bitcoins are created, in our case it's new domains. We've already seen that we don't want to limit the number of domains created at any time.
I'm sorry, I don't know what are the technical reasons against varying blocks per hour.
Yes it would get cheaper to create more domains, and it would get cheaper to hold more domains, this is not a bad thing as the number of domais will increase condsiderably as the system grows, why would we want it to get more expensive to hold onto and get more domains over time?
At that point all the lower level domains will be taken, and only longer ones remaining, the relative value of new domains decreases with their length (to an entent, there are exceptions). With the increase in computing power, and the resultant lowering of cost would reflect the lower value of longer names.