Yes, the Discourse theme system allows you to pretty much customize everything on the client-side, nothing is hardcoded.
We have a couple of guides that can help you get started
and a collection of open source themes and components for you to look at in the theme category
As for the specifics in your post
Line spacing can be changed easily with CSS
I’m not sure I understand what you’re referring to, but you can add or remove elements with a theme / component. You can also hide elements with CSS.
This is doable with CSS but you’d need to be aware of the effects your changes might have on the timeline (the scrollbar on the right-side of topics). That said, this is all just CSS and you can make whatever changes you want if you know what you’re doing.