If Batch size of 1 via dataloader is too slow for you.
Use excel to sort by Accountid
Separate the Duplicate Accountids into different csvs, making sure each csv you load has only unique Accountids
Load each CSV via Dataloader with batch size of any given number (2000 is max)
If you have duplicate ids but need them processed you could break this into multiple transactions, such that no two duplicate ids are processed together. For example assuming you can live with a batch size of 1 for this work, you could set Data Loaders batch size to 1.
There is no way to dynamically set the date on DataLoader as System.NOW().
With that in mind, you can go with:
your approach (Workflow/Apex code to identify records which you inserted/updated from DataLoader and set the value of that field)
arut's suggestion on the comments (set the default value for the DateTime field you created as System.NOW(), that way ...
"Apex CPU time limit exceeded" doesn't imply a bug, but that your code/process might not be optimized.
Everything in Production has been tested in Sandbox, and thus far, have not had any problems.
Usually a big difference between Production and Sandbox org is the amout of data, such as object records, attachments, and metadata.
If you have a Full ...