ニコニコ動画の再生ページに埋め込まれている情報 | Web scratch のマイリストページ版みたいなものです。
マイリストにもAPIがありますが(ニコニコ動画のAPIまとめ | Web scratch )マイリストページにいるならば、わざわざAPI叩かなくてもいろんな情報が取得できます。
なんでわざわざDOMから情報を取ってるかというと、変更の影響を受けにくかったりするからです。
ここでのマイリストは人が公開してるマイリストのこと。

my
    Mylist.groupList
        id (number): マイリストID
        user_id (number): マイリストのユーザーID
        name (string): マイリストのタイトル
        description (string): マイリスト説明文
        public (boolean): true // 公開状況
        default_sort (number): 1 (1-17)
        create_time (number): UNIX時間(util.unix2で戻せる)
        update_time (number): UNIX時間
        icon_id (number): 0
        sort_order (number): 0 
    my.currentItems
        [0]...配列
            item_type (number): 0
            item_id (string): 接頭辞がない動画番号(常時)
            description (string): マイリスト登録者による説明文
            item_data 
                video_id (string): 接頭辞がある動画番号(sm数字)
                title (string):  動画タイトル
                thumbnail_url (string): サムネイルURL
                first_retrieve (number): 投稿日時(UNIX時間)
                update_time (number): 更新日時(UNIX時間)
                view_counter (string): 再生数
                mylist_counter (string): マイリスト数
                num_res (string): コメント数
                group_type (string): default 
                length_seconds (string): 再生時間(秒)
                deleted (string): 0 (削除状態0-3?)
                last_res_body (string): 最近のコメント(文字列)
                watch_id (string): 接頭辞なしの動画番号(コミュ、マイメモリー以外だと接頭辞がある)
            watch (number): 0
            create_time (number): マイリスト登録日時(UNIX時間)
            update_time (number): マイリスト更新日時(UNIX時間)

Firebugなどから、console.dir(my)などして構造を確認しておくといいです。
DOMから動画情報を取得するのを少しだけ手助けする関数群を置いておきます。(思ったより役に立たない)

(function () {
    var w = unsafeWindow;
    Mylist = {
        // マイリストの属性
        /*
        Mylist.groupListのツリー
            id (number): マイリストID
            user_id (number): マイリストのユーザーID
            name (string): マイリストのタイトル
            description (string): マイリスト説明文
            public (boolean): true // 公開状況
            default_sort (number): 1 (1-17)
            create_time (number): UNIX時間(util.unix2で戻せる)
            update_time (number): UNIX時間
            icon_id (number): 0
            sort_order (number): 0
        */
        // Mylist.groupList - my.CurrentGroupのコピー
        groupList: function () {
            return w.my.currentGroup;
        },
        /*
        my.currentItemsのツリー
            item_type (number): 0
            item_id (string): 接頭辞がない動画番号(常時)
            description (string): マイリスト登録者による説明文
            item_data
                video_id (string): 接頭辞がある動画番号(sm数字)
                title (string):  動画タイトル
                thumbnail_url (string): サムネイルURL
                first_retrieve (number): 投稿日時(UNIX時間)
                update_time (number): 更新日時(UNIX時間)
                view_counter (string): 再生数
                mylist_counter (string): マイリスト数
                num_res (string): コメント数
                group_type (string): default
                length_seconds (string): 再生時間(秒)
                deleted (string): 0 (削除状態0-3?)
                last_res_body (string): 最近のコメント(文字列)
                watch_id (string): 接頭辞なしの動画番号(コミュ、マイメモリー以外だと接頭辞がある)
            watch (number): 0
            create_time (number): マイリスト登録日時(UNIX時間)
            update_time (number): マイリスト更新日時(UNIX時間)
        */
        // Mylist.itemList - my.currentItemsのコピー
        itemList : function(){
            return w.my.currentItems;
        },
    }

    // utility関数群
    utils = {
      playlength : transPlaylength,
      unix2 : unixTodate,
      clone : clone,
    }

    // 再生時間を分秒に変換
    function transPlaylength(length){
        return (length / 60).toFixed(2).toString().split(".").join("分") + "秒";
    }
    // 10桁の数字(UNIXTIME)から2009/10/1 00:00形式で返す
    function unixTodate(x){
        var t=new Date(x*1000);
        return t.getFullYear() + "/" + fillZero(t.getMonth() + 1) + "/" + fillZero(t.getDate()) + " " + fillZero(t.getHours()) + ":" + fillZero(t.getMinutes()) + ":" + fillZero(t.getSeconds());
    }
    // http://d.hatena.ne.jp/javascripter/20080514/1210791575
    // 先頭を0で埋める デフォルト2桁
    function fillZero(num , digit){
        var n = (digit) ? digit : 2;// デフォルト値
        var zero=new Array(n).join('0');//0をn-1文字分つなげた文字列を作る。n==4だと'000'
        var str=zero+num;//zeroとthisをくっつけた文字列を作る。
        var result=str.substr(-n);//strの後ろから、n文字分の文字列を取ってくる。
        return result;
    }
    // オブジェクトのコピーのコピーを作成
    function clone(obj){
        return (typeof uneval == "function") ? eval(uneval(obj)) : false;
    }

})();

gist: 239541 – GitHub

どんな風に使うかというと、上の関数群を読み込んで使用します。
DOMへのアクセスをするものと少しのutility関数群から構成されています。
再生時間を分秒に直したり、UNIX時間で格納されている時間を2009/10/1 00:00形式に直したりするだけです。

// ==UserScript==
// @name           Nico mylist Test
// @namespace      http://efcl.info/
// @include        http://www.nicovideo.jp/mylist/*
// @require        http://gist.github.com/raw/239541/1dab27439133948bd6309f4ba959921a8ce938b9/NicoMylistDom.js
// ==/UserScript==
var t = Mylist.itemList();// DOM my.currentItemsにアクセス
var cpObj = utils.clone(t);// オブジェクトのコピー作成(元の値を残す)
console.log(cpObj.length)
for(var i =0,l =cpObj.length;i<l;i++){
  console.log(i + " : " + cpObj[i].item_data.title + "投稿日 : "+ utils.unix2(cpObj[i].item_data.first_retrieve))
}
cpObj[i-1].item_data.title = "buzz";//コピーしたものを書き換える
console.log(t[i-1].item_data.title)// 元のDOMには影響ない

上の関数群のテスト例です。インストールしてマイリストページに行くとコンソールに例が表示されるので参考にどうぞ