マイリストへの追加についてはもうあるようなので、マイリストからの削除を実装します。
基本的に上記のソースを流用するので、実装はpythonです。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys, re, urllib, urllib2, cookielib, time, netrc
import json

import ssl_tlsv1

class NicoVideo:
    _API="http://www.nicovideo.jp/api/"

    def __init__(self, user = None, passwd = None):
        if not user or not passwd:
            user,a,passwd = netrc.netrc().authenticators("nicovideo")
        opener = self.login(user, passwd);
        html = opener.open("http://www.nicovideo.jp/my/mylist").read()
        p = html.find("NicoAPI.token")
        t,a = html[p:].split(';',1)
        token = re.search('"(.*?)"', t).group(1)
        self.opener = opener
        self.token = token

    def login(self, username, password):
        cj = cookielib.CookieJar()
        opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        req = urllib2.Request("https://secure.nicovideo.jp/secure/login?site=niconico");
        req.add_data(urllib.urlencode({"mail": username, "password": password}))
        opener.open(req)
        return opener

    def get_token(self):
        return self.token

    def __get(self, url, data):
        return json.load(self.opener.open(url + "?" + urllib.urlencode(data)), encoding='utf8')

    def __post(self, url, data):
        return json.load(self.opener.open(url, urllib.urlencode(data)), encoding='utf8')

    def create_mylist(self, name):
        j = self.__get(self._API + "mylistgroup/add", {
            'name': name.encode("utf8"),
            'description': "",
            'public': 0,
            'default_sort': 0,
            'icon_id': 0,
            'token': self.token
        })
        return j['id']

    def get_mylists(self):
        j = self.__get(self._API + "mylistgroup/list", {
            'token': self.token
        })
        return j

    def get_mylist(self, mylist_id):
        j = self.__get(self._API + "mylist/list", {
            'group_id': mylist_id,
            'token': self.token
        })
        return j

    def add_video(self, mylist_id, video_id):
        _list = video_id
        if not isinstance(_list, list):
            _list = [video_id]
        for video_id in _list:
            j = self.__get(self._API + "mylist/add", {
                'group_id': mylist_id,
                'item_type': 0,
                'item_id': video_id,
                'description': u"",
                'token': self.token
            })
            time.sleep(0.5)

    def remove_video(self, mylist_id, item_id):
        _list = item_id
        if not isinstance(_list, list):
            _list = [item_id]
        for item_id in _list:
            j = self.__post(self._API + "mylist/delete", {
                'group_id': mylist_id,
                'id_list[0][]': item_id,
                'token': self.token
            })
            time.sleep(0.5)

削除用のパラメタは id_list[0][]=item_id って感じで指定します。
複数削除する場合は、 id_list[0][]=item_id1&id_list[0][]=item_id2 ってカンジで書けばイイっぽいんですが、pythonで同名のキーを渡す方法が分からなかったので諦めてループさせています。

item_idsm9 のような動画IDを渡すのではない点に注意。マイリストを取得して対象の動画の item_id を確認してください。

たとえば、上記のスクリプトをnocovideo_ctl.py という名前で保存したとして、対象のマイリストの最初の動画を削除する、という場合は以下のようなコードになります。

import json
import nicovideo_ctl

mylist_id = 'XXXXXXXX' # 対象のマイリストID

nicovideo = nicovideo_ctl.NicoVideo()
mylist = nicovideo.get_mylist(mylist_id)
print json.dumps(mylist, ensure_ascii=False)
item_id = mylist["mylistitem"][0]["item_id"]
nicovideo.remove_video(mylist_id, item_id)
mylist = nicovideo.get_mylist(mylist_id)
print json.dumps(mylist, ensure_ascii=False)

なお、コメントの import ssl_tlsv1 っていうのは、この記事にあるようにSSLをTLSv1でアクセスするためのものです。(※該当の回避コードを外部ファイルにしただけ)

このコードをRaspberryPi上で動かす場合には必要になるので、該当コードを同ディレクトリにでも置いてください。