Can a contract own an ENS name? That would make it possibly to lock names for a period of time, making them immutable, so that the name can be trusted to continue to point to a certain contract.
Yes, an Ethereum Contract can have an ENS address.
From the ENS documentation:
The owner of a domain may be either an external account (a user) or a smart contract. A registrar is simply a smart contract that owns a domain, and issues subdomains of that domain to users that follow some set of rules defined in the contract.