I would recommend writing your inserts in the way you specified. Reasoning is that if table structures change, simply writing your INSERT script as:
INSERT INTO myTable VALUES ('abc', 'xyz', 123);
will require a change to the code. Without specifying a column list, your respective SQL parser will assume you will be inputting values into each of the defined columns of the table.
In your specific case, since it may not always be the case that the final value will be NULL, go ahead and specify it in your input list, and simply insert a NULL value in the VALUES part of your statement.
Of course this is just my opinion, which is only important to me...
JoeB