Thanks Jimmy, this worked great! I had actually found the xsl:sort option previously but couldn't get it working as I hadn't included the () at the end of "position".
Regarding Infopath's tendency to overwrite the changes, I was also reading about preserve code blocks in conjunction with the xsl:sort in order to preserve the code so InfoPath doesn't change it everytime. Is this something you're familiar with? When I tried doing it previously I didn't have any luck with it.
Failing that, will I only need to amend the .xsl if I make changes to that specific view? Will it be affected by any changes (e.g adding new fields, adding additional options to ddl's etc) or is it only affected by changes made to the node I'm forcing the sort on?
As always, thanks so much for all your help - I'd never get anywhere without this site!