Okay I managed to create a work around by essentially undoing the nested html during sort.
shown here: http://jsfiddle.net/Y56sR/19/
When you sort a label you will notice the boxes are no longer nested which then allows you to put the label anywhere.
Here is the altered code:
//check if the item being sorted is a label
$(".item").mousedown(function(){
var label = $(this).find(".link[data-label='1']");
if(label.length > 0){
//remove nesting and treat all items equal so sort works properly
$(".item").each(function(){
var thisItem = $(this);
var childItem = thisItem.find(".item");
childItem.remove();
thisItem.after(childItem);
});
//change items from only rootItem to all items since now they are unnested
$("#container").sortable({
items: ".item",
stop: function(e,ui){
//renest the html and reapply sortable for non-label here
}
});
}
});