Is it possible to use SystemModeler as a Modelica IDE (to create custom Modelica components)?
SystemModeler does support creating and editing custom components, with tools for both writing directly in Modelica, as well as extensive graphical tools to create, edit and explore hierarchies and components.
To add to that, you can also use CreateSystemModel and ConnectSystemModelComponents in Mathematica (from 11.3) to create models from Wolfram Language.
Additionally, if you want to write text-based Modelica directly, you can use ImportString["modelica code here", "MO"]
to create (or update) models from Wolfram Language.
I think that writing Modelica code and generating Modelica models is the basic and main purpose of SystemModeler, so yes, that is possible and it also provides support of building systems from building blocks graphically.
The problem is rather the opposite: every implementation of the Modelica language has developed its own peculiarities and extensions, so unless the author(s) have taken care to stick to the standard it not always is possible or trivial to transfer Modelica models optimized for one implementation to another. What any of the available implementations do support is the standard modelica library, AFAIK. You should check which version of Modelica the different environments do support, though.
Yes you can write in "pure" Modelica by switching to the Modelica Text View.