Which other restrictions are there on names (beside the obvious uniqueness within a scope)?
Where are those defined?
From the PDF of ECMA-335, Partition II, section 22:
Metadata preserves name strings, as created by a compiler or code generator, unchanged. Essentially, it treats each string as an opaque blob. In particular, it preserves case. The CLI imposes no limit on the length of names stored in metadata and subsequently processed by the CLI
If I've read this correctly and the context is correct then there's no actual limit to the length of an identifier in the CLR.