For Sub Queries
object explorer > right-click a table > Script table as > SELECT to > Clipboard
Then you can just paste in the section where you want that as a sub query.
Templates / Snippets
Create you own templates with only a code snippet. Then instead opening the template as a new document just drag it to you current query to insert the snippet.
A snippet can simply be a set of header with comments or just some simple piece of code.
Implicit transactions
If you wont remember to start a transaction before your delete statemens you can go to options and set implicit transactions by default in all your queries. They require always an explicit commit / rollback.
Isolation level
Go to options and set isolation level to READ_UNCOMMITED by default. This way you dont need to type a NOLOCK in all your ad hoc queries. Just dont forget to place the table hint when writing a new view or stored procedure.
Default database
Your login has a default database set by the DBA (To me is usually the undesired one almost every time).
If you want it to be a different one because of the project you are currently working on.
In 'Registered Servers pane' > Right click > Properties > Connection properties tab > connect to database.
Multiple logins
(These you might already have done though)
Register the server multiple times, each with a different login. You can then have the same server in the object browser open multiple times (each with a different login).
To execute the same query you already wrote with a different login, instead of copying the query just do a right click over the query pane > Connection > Change connection.