actually it is due to an attribute set in the base productCatalog.xml:
<property category-resource="categoryInfo" name="id" column-
name="category_id" display-name-resource="categoryId">
<attribute name="uiwritable" value="false"/>
<attribute name="propertySortPriority" value="-3"/>
</property>
uiwritable has been set to false. To reenable it, you should overwrite
it in localconfig, however, best practices you *should* use the out of
box id generator, and not set these manually (is why they are disabled
to begin with).
If you have another ID that you want to capture as part of the item-
descriptor (say an external identifier in another system), you should
extend the item descriptor with a property that is writable. The
default id field should be reserved for repository usage.
In CA/Merch, this is particularly tricky, because of what happens when
you create a new item. The ID will be populated, and you cannot change
it. If you allow users to set it, then they cannot ever change it once
they click "apply" because the id field is used for asset history
(note the primary keys on the table are id and asset_version).
would strongly advise against allowing users to manually manage ids.