I assume that the data's coming from the server?
JSP perhaps? php? Regardless, use the server to write the initial JavaScript data structure. An array of the entries would probably suffice.
Write a JavaScript function to take the data in the array and emit a <table> from the data (highly recommend use of jQuery). Each row would contain controls (up and down arrows) that the user could click to "move" the row,
When the user clicks on an up-arrow control in the table (except on the first row), the event listener swaps the array entry corresponding to the clicked row with its predecessor. Then it calls the function that replaces the table with the new one.
Similar functionality for moving in the other direction.
I think it's just easier to keep the array sorted, and create the table from the array, than to try to sort table rows in the DOM.