Yes, because the gainItem() function is overloaded. I can explain a little more on that when I wake up if you don't know what that means.
If you wanted to make an item with no expiration and have it be untradeable, then you'd use
cm.gainItem(1002067, 1, false, true, -1, true);
This is...