Modify comments_popup_link output

You can replace __( 'No comments', 'textdomain' ) with __( '<span>No</span> comments', 'textdomain' ), there is nothing that stops you to do it.

In general, HTML inside translatable strings are not recommended but if you really need the span tags, you have not other choice to add them server side. I strongly recommend to think why do you need those <span> and investigate if you can archive the same result without them.

More in i18n for WordPress Developers: HTML in translatable strings