'Order of importance' type field I'm using an Entityform to create a survey for a client, however one of the types of question they have is to rank a number of options in terms of importance to the user. 

Similar to how the draggableviews module work would be the ideal, but I know that draggableviews changes the global setting for that list, rather than a per-user response.

Is there any way to achieve something like this?
Could you use "tabledrag", the code draggableviews uses to do dragging? It is basically javascript acting on an html table, with a weights column to remember the order.

Have a look at how the block module uses it (but bear in mind block is more complex because it has multiple regions to manage).

For tabledrag to work you need your questions in the form of a html table, which you then extend using the render array "#type" = "tabledrag". It is possible to configure tabledrag in Javascript, too.