Re: 1
This is not a standard feature that ODM supports. The purpose of a Decision Table is to filter a set of existing objects based on the values specified in the columns of the Decision Table, then to apply some actions to either update the resulting objects or perhaps create other objects. In either case, it needs a list of existing objects to work from. Many (!) users of ODM would like ODM to provide what I call a Data Table, whose purpose is to specify and create a set of objects with the values specified in the columns of the Data Table. Alas, ODM does not provide such a feature, and in the past has intentionally refused to consider such a feature. Your question does not differentiate between Condition Columns and Action Columns, which leads me to believe you are hoping for a Data Table (which does not exist).
Usually, it is possible to re-think your requirement into Condition-Action terms. In the worst case, all rows can share a trivial condition (true = true) and everything else can happen in the actions (such as creating instances). If you are using a Java XOM (and you should be!), you can implement the offer_id functionality behind the scenes in Java.
Re: 2
Older versions of ODM supported Decision Table templates, which allowed a developer to lock certain aspects of the Decision Table from the rule author. That feature is now deprecated (since 8.9, I believe), and there is no replacement for it.