Richard,
If you want the ID to be unique across records of a particular object, you can add a rule like the one below to the object. For example, if the object is called Account and the ID attribute is called AccountID, the rule would look like this:
If Account IS NEW Then Account.AccountID = MAX Account.AccountID + 1
This rule will be executed when a new Account record is created and its AccountID will be one greater than the largest AccountID value of all Account records in the database.
Also keep in mind that each object has a pre-defined system-maintained attribute called ID that can be displayed in forms/queries/documents/etc, which is automatically assigned a unique number when any new record is created. This number is unique across all records in the database regardless of the object type and its value cannot be controlled externally. So if you do not have any particular requirements on ID numbering, you can just use the ID attribute without having to add any rules.