You can already.
Get item's info using GetItemDescriptor(objtype / objtypename) and change values in it before creating the item.
Code:
var objtype := OBJTYPE_AXE; // 3907
var descriptor := GetItemDescriptor(objtype);
print(descriptor);
descriptor.color := COLOR_RED;
// Results a red axe.
CreateItemInBackpack(who, descriptor, 1);
Overriding the values in struct is sometimes a bit hard (cprops...), but it is doable. Also note that r/o values cannot be changed (weight).