All I did was use template::list::orderby_clause -name list-name to get the order by clause and added $orderby_clause to the query in the xql file.
You have to prepend "order by" to whatever the proc returns.
To set the width you can use CSS. I actually created a new CSS class with width=100% attribute and edited the list template file.
The may be a better way to do that.