マイリストへの追加についてはもうあるようなので、マイリストからの削除を実装します。
基本的に上記のソースを流用するので、実装は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上で動かす場合には必要になるので、該当コードを同ディレクトリにでも置いてください。