I'm looking at the code in the plugin and the errorElement option is simply looking for an element as its parameter. Since there is no callback function for errorElement, I see no direct way to achieve what you ask without modifying the plugin itself.
Maybe you could do something with the errorPlacement callback instead.
Let's say just leave it as a label and then wrap it with some other container? Or use errorElement to put them all inside a <span>, while using errorPlacement to wrap them dynamically in whatever container. See jQuery .wrap().
errorElement: 'span',
errorPlacement: function (error, element) {
var type = $(element).attr("type");
if (type === "radio") {
// custom placement
error.insertAfter(element).wrap('<li/>');
} else if (type === "checkbox") {
// custom placement
error.insertAfter(element).wrap('<li/>');
} else {
error.insertAfter(element).wrap('<div/>');
}
},
DEMO: http://jsfiddle.net/uLH4f/