The real bottom line is that what is recommended is whatever works best for your testing environment that meets your test case requirements. Generally it is better to avoid having to write code when implementing a test, but that certainly is not a hard and fast rule. The more code yuo can avoid having to implement then generally the easier it is to maintain test in the event of changes to the applicatiion or the test case requirements. Having to modify code to fix a broken test usually is relatively expensive in terms of the time spent maintaining a test.
Based on what I understand of the test case, I would choose based on whether or not re-using the same set of unique ID's everytime the test runs meets the test case requirements. If a new set of ID's needs to be generated for each test run, then code is really the only way to go (a data driven test cannot generate new data input on the fly). If re-using the same set of ID's is acceptable then I would go with the data driven setup I previously described.
What are your thoughts?
the Telerik team