Вы действительно должны использовать HTML-парсер, а не регулярное выражение (см. Прошлые ответы на эту тему).
Однако, если XML имеет полностью предсказуемый контент и форматирование, вы можете получить что-то вроде
:%s/<span[^>]*><\/span>//
(не проверено). Важным моментом здесь является то, что он проверяет наличие пустого элемента span, который оказывается на одной строке. Вы можете добавить каретку (^) в начале, если нежелательные элементы span всегда начинаются с начала новой строки.
Если вы хотите соответствовать id="textmarked_[0-9]*
вы можете сделать это, я сомневаюсь, что это необходимо. Любой пустой элемент span, вероятно, не имеет смысла, независимо от его атрибутов. Единственное исключение, о котором я могу подумать, - это если какой-то элемент javascript позже заполнит эти элементы.