can you just use the id of the dataitem in the repeater?
<ul id="<%#Eval("NodeID")%>">
Also, unless you are not using ASCX transformations, you can just give your ul an ID and set it to run at server. That way .Net will go ahead and take care of producing unique client ids.
<ul id="MyUl" runat="server">
</ul>