You could just make it a repeating section, but remove the unwanted controls so it doesn't appear as a repeating section to the user (i.e. they can't delete or add rows, and the fields like the row name are not editable). If you have an event handler to grab the value of each row if it changes (e.g. if they were base attributes like Strength, any time the Strength value changes, run a function to find the repeating row with the name "Strength", grab the value and assign it to the attribute "Strength"). You'd then get the re-ordering capability of a repeating section, but have @{strength} available for macros and the rest of your javascript. Since a user could potentially use a CSS edit to uncover the buttons and mess up their sheet, a repair function would probably in order as well.