There’s not much in $:/core/ui/ViewTemplate/body/code, I would generally use the <$codeblock> widget directly:
<$codeblock code={{{ [<currentTiddler>get[text]] }}} language={{{ [<currentTiddler>get[type]else[text/vnd.tiddlywiki]] }}}/>
There should be syntax highlighting if you have the Highlight plugin installed. Note that many content types (notably wikitext) used in TiddlyWiki are not recognised by the plugin, and so won’t have syntax highlighting applied.
We already support setting the code-body field to yes to force a tiddler to be displayed in the story river as code but transcluded as normal. Is there a reason you’d prefer a tag?
In any event, the following filter would achieve what you want:
[tag[code]then[$:/core/ui/ViewTemplate/body/code]]
It would need to be put in a tiddler tagged $:/tags/ViewTemplateBodyFilter with a blank list-before field to force it to the top of the cascade.