I assume you know that querySelectorAll is not available with MSIE 7 and below? Do you care?
Anyway, it seems simple enough.
Should work. There's no easy way to copy all the data-xxx properties except your chosen ones. You could iterate through all the properties, looking for certain names, but that's tedious. Surely, in real life, you would know exactly which properties you are going to keep?
var ul = document.querySelectorAll('[data-abc]'); // assumes there is only one match
// first, remove all the <li>s
while ( ul.hasChildNodes )
ul.removeChild( ul.lastChild );
// now build the replacement element:
var inp = document.createElement("input");
inp.className = ul.className; //clone class name
inp.value = ul.getAttribute("data-value");
// if you wanted any other attributes copied, you would need to do so one by one
// now replace the <ul> with the <input>
ul.parentNode.replaceChild( inp, ul );