You'll need to create a secondary data connection to your SQL table (you have DBXL, so you can use QueryDB for that). Then, the tricky bit is going to be copying your secondary data into your main data source --
Basically, you'll need to insert how ever many number of rows returned by your SQL query to your main data source. Then populate those with the correct traits. Unfortunately, out of the box, InfoPath has no UI way of accomplishing this. It can be done either with custom code, or with qRules.
There is probably a third option -- but it seems like it would have a greater potential for failure -- and that would be if you have a good idea of the maximum number of traits you'd have, you might be able to default your main data source to contain that number of rows in the repeating group where you want these, and modify the manifest to be able to populate the repeating fields correctly.... hmm. I'm attaching a sample, since it is easier to understand if you see it. Here's a blog post that talks about the manual manifest mods I made.
To check out the sample, right click the link in the heading to this post and save the XSN locally. Then you can right click on the XSN and select Design to open in design mode. Preview it to see the functionality....