The best way to define new macros is to use the etoolboxs \csdef:

Notes:
- Note that
\aa is already defined., so you should use an alternate name. As \csdef won't issue an error in that case, I have added a test to make sure that the code issues an error if you attempt to redefine an existing macro.
- You can also use
\csname...\endcsname to build names of macros as shown in the second MWE.
Code: Using \csdef:
\documentclass{article}
\usepackage{etoolbox}
\newcommand{\myabbv}[3]{%
%% First lets check that we are not redefining an exsting macro:
\ifcsdef{#1}{\PackageError{myabbv}{Macro #1 is already defined}{}}{}%
\ifcsdef{#1full}{\PackageError{myabbv}{Macro #1full is already defined}{}}{}%
% --------------
\csdef{#1}{#3}%
\csdef{#1full}{#2}%
}
\myabbv{Xaa}{Alcoholics Anonymous}{AA}
\begin{document}
\Xaafull is a place for people that go to \Xaa
\end{document}
Code: Using \csname...\endcsname:
\documentclass{article}
\newcommand{\myabbv}[3]{%
\expandafter\newcommand\csname#1\endcsname{#3}%
\expandafter\newcommand\csname#1full\endcsname{#2}%
}
\myabbv{Xaa}{Alcoholics Anonymous}{AA}
\begin{document}
\Xaafull is a place for people that go to \Xaa
\end{document}
\aa#command. You should explain what you want to achieve with your\myabbvcommand. – Nov 17 '14 at 20:15\aa. As I mention initially I'm trying to make a command that creates a couple of related commands (varying with a suffix). – Nick T Nov 17 '14 at 20:18\aais already defined, it's for ScandinavianAngstr\"omcharacters... (or whatever they are called) Otherwise use the solutions by Peter Grill... he was (again) quicker than me :-( – Nov 17 '14 at 20:23