проще взять шаблон с простым apply-templates вместо call template
и добавить в вызов условие
<xsl:apply-templates select="blocks/items/item[item_status=1][item_propertys/item_property[@xml_name='video1']/value!='' or item_propertys/item_property[@xml_name='video2']/value!='']"/>
а переносы в шаблоне <xsl:template match="blocks/items/item"> - методом:
<xsl:if test="position() mod 4 = 0 and position()!=last()">
<xsl:text disable-output-escaping="yes">
</tr>
<tr>
</xsl:text>
</xsl:if>
там может быть div с clear, закрытие дива-строки или что-то еще для переноса строк