Hi jlutterloh,
For #1, there are probably a couple ways you could approach this. One idea would be to use FreeMarker to detect whether or not the user is registered. If they're not registered, you could add some CSS to hide those particular elements (display:none like you did for the reply button).
Another idea would be to create some custom components to replace those elements you want to conditinally hide. Inside your custom component, you would check to see if the current user is registered. If they are, then you can use FreeMarker to include the standard component that you replaced. So you're essentially creating a wrapper for the standard component.
One thing to keep in mind, though, is that displaying these elements to users that are not logged in can actually be a good thing. It serves as a reminder to those that are registered, and encourages those that aren't registered to do so.
For #3, the time has its own CSS class separate from the date. So if you wanted to hide it, you could certainly do so using CSS. The class is named "local-time". You can add additional selectors depending on how specific you want to be with your CSS rule.
Let me know if you need any more information about any of these options. I hope this helps!
-Adam