Here you go!
This should get you started. You'll need to edit the composer.tpl, or inject html at composer load, checking if the post is a new topic.
Is there anyway to add new fields to topics or posts for custom sorting?
There is no way to do this in core. Are you trying to make a plugin to do this?
For adding fields to a post/topic you would use the hooks as so:
Sorting is another matter, you need to also add the fields to a sortedSet in the db, here are two examples:
You mean add tags after the fact? Only a mod or the OP can edit a topic and add them.
Tags are not available for posts but I really, really, wish they were.