Here's a extension of the jQuery prototype ($.fn) object to provide a new method that can be chained to the jQuery() function.
I needed to functionality where I needed to add an element between the list that I split. That has been added as an optional parameter.
An example is available at http://jsfiddle.net/roeburg/5F2hW/
The usage of the function is like so:
 $("ul").customSplitList(5);
The function is defined as follows:
// Function definition
(function ($) {
    // Function is defined here ...
    $.fn.customSplitList = function (indexToSplit, elementToAddInBetween) {
        // Holds a reference to the element(list)
        var that = this;
        var subList, newList, listLength;
        // Only continue if the element is a derivitive of a list
        if ($(that) && ($(that).is("ul") || $(that).is("ol"))) {
            // Additionally check if the length & the split index is valid
            listLength = $(that).children().length;
            if ($.isNumeric(indexToSplit) && indexToSplit > 0 && indexToSplit < listLength) {
                // Based on list type, create a new empty list
                newList = $($(that).clone(true)).empty();
                while ((subList = this.find('li:gt(' + (indexToSplit - 1) + ')').remove()).length) {
                    newList.append(subList);
                }
                if (elementToAddInBetween && $(elementToAddInBetween)) {
                    that.after(newList);
                    newList.before(elementToAddInBetween);
                } else {
                    that.after(newList);
                }
            }
        }
    };
})(jQuery);
Hope this helps.