You can change persistent items after creating them, but changing the "price" field can have odd effects on existing player's inventories.
Basically the game will try to keep all players' total inventory "value" the same. So if you increase the price, items will disappear from player inventories to compensate, and if you lower the price, the reduced value will be converted into sparks. An item with zero value, if its price is increased to a non-zero number, will vanish from all existing inventories.
You can add new partitions after creating an item with partitions without any problems, but you can't change the bit count of an existing partition, or reorder them, after making them persistent, without messing up existing player's "saved" data. (If you try, you will be asked if you want to delete all player's data for that item).
Persistent item data is stored as a binary string, and the partitions are used to save and load that string into an in-game object.
Let's say I have an item with 3 partitioned variables: a one-bit (0-1), four-bit (0-15), and three-bit (0-7).
A player plays the game and the item is saved with the one-bit variable as 1, the four-bit as 7, and the three-bit as 5.
Their saved binary string for that item will be:
10111101
Which is interpreted as such when loaded: (1)(0111)(101)
Or: 1,7,5 - the correct values.
If the four-bit value was then changed to 3-bits but player data was not deleted, their binary string would remain the same, but it would instead be interpreted as:
(1)(011)(110)
Or: 1,3,6
Which would be the wrong values, messing up their saved data regarding that item.
You can, however, add new partitions after the existing ones; if no data is there they will be "filled in" as 0 when loaded.
All other properties - graphics, title, description, effects, even the names of partitions - can be changed without problems; player inventories will automatically update with the new properties.
Unset variables are always equal to 0.
Not equals is written as !=