4
The language strings used in xoops_version.php should all start with _MI_XXXX, where XXXX is the module name.
The quotes ('') are needed because in those cases, the name of the constant has to be stored in the array. In other places, the value of the constant needs to be stored. But I agree that it's inconsistent.
The maximum length is determined by the width of the database column(s) that stores it. I thought that was 32, but I just checked, and the width appears to be 30.