Perhaps this give the behavior that you desire?
$PreRead = # /.
{"\[DoubleStruckCapitalC]" -> Complexes,
"\[DoubleStruckCapitalA]" -> Algebraics,
"\[DoubleStruckCapitalQ]" -> Rationals,
"\[DoubleStruckCapitalB]" -> Booleans,
"\[DoubleStruckCapitalN]" -> Naturals,
"\[DoubleStruckCapitalZ]" -> Integers,
"\[DoubleStruckCapitalP]" -> Primes,
"\[DoubleStruckCapitalR]" -> Reals} &;
$PrePrint = # /.
{Complexes -> "\[DoubleStruckCapitalC]",
Algebraics -> "\[DoubleStruckCapitalA]",
Rationals -> "\[DoubleStruckCapitalQ]",
Booleans -> "\[DoubleStruckCapitalB]",
Naturals -> "\[DoubleStruckCapitalN]",
Integers -> "\[DoubleStruckCapitalZ]",
Primes -> "\[DoubleStruckCapitalP]",
Reals -> "\[DoubleStruckCapitalR]"} &;
Now you can enter these with Escds*Esc where * is the letter, and they will be interpreted as the corresponding domain. Also, the domains will be printed as a double-struck letter.
As noted in the comments Naturals is not a valid Mathematica domain but I kept your notation for consistency.
To load these for all sessions on start-up, put this code into one of your init.m files, probably this one: FileNameJoin[{$UserBaseDirectory, "Kernel", "init.m"}].
For custom input aliases add them to the InputAliases list, possibly using the Option Inspector, or with this, but only run it once:
old = Options[$FrontEnd, "InputAliases"][[1, 2]];
new = Join[old,
{"CC" -> "\[DoubleStruckCapitalC]",
"AA" -> "\[DoubleStruckCapitalA]",
"QQ" -> "\[DoubleStruckCapitalQ]",
"BB" -> "\[DoubleStruckCapitalB]",
"NN" -> "\[DoubleStruckCapitalN]",
"ZZ" -> "\[DoubleStruckCapitalZ]",
"PP" -> "\[DoubleStruckCapitalP]",
"RR" -> "\[DoubleStruckCapitalR]"}];
SetOptions[$FrontEnd, InputAliases -> new]
Naturals, because they are simplyIntegersin Mathematica. – night owl Jun 22 '12 at 7:16