Assuming you really want to do it, you need a two-step approach: first define the commands you want under the right category code setup
\begingroup
\catcode`[=11 \catcode`]=11
\gdef\[a{foo}
\gdef\]m{baz}
\endgroup
Then you can define the environment so that it changes the category codes:
\newenvironment{newaccents}
{\catcode`[=11 \catcode`]=11 }
{}
The reason why your attempt fails is that when you do
\newenvironment{newaccents}{\begingroup%
\catcode`\[=11%
\catcode`\]=11%
\def\[a{some unicode character}
\def\]m{something else}
}{%
\catcode`\[=12%
\catcode`\]=12%
\endgroup}
TeX has already absorbed the tokens in the three arguments to \newenvironment under a regime where [ and ] have category code 12, so they cannot be changed any more.
The global definitions I give in the first code block have no influence on usage outside the newaccents environment, where the category code of [ and ] is 12. You can still use \[ and \] with their original meaning within the newaccents environment, provided you ensure they're followed by a space.
In any case, you should recall that an environment where category code changes are performed cannot be used in the argument to a command.
There is a different strategy for obtaining a similar result without category code changes.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\DeclareTextCommand{\NAlbrack}{T1}{?} % default is not really defined
\DeclareTextCompositeCommand{\NAlbrack}{T1}{a}{foo}
% other composites of the form \[x
\DeclareTextCommand{\NArbrack}{T1}{?} % default is not really defined
\DeclareTextCompositeCommand{\NArbrack}{T1}{m}{baz}
% other composites of the form \]x
\newenvironment{newaccents}
{\let\[\NAlbrack \let\]\NArbrack}
{}
\begin{document}
\[a=b\]
\begin{newaccents}
Does \[a print `foo'?
Does \]m print `baz'?
\end{newaccents}
\end{document}

This of course means \[ and \] cannot be used for displays, but I don't think it's a problem for your application.
I used T1 as the font encoding, but you can use \encodingdefault, provided the code is after loading the package for font encodings, be it fontenc or fontspec.
The trick is to define a command \NAlbrack that can look forward for a declared combination, in this case an a. If it finds it, it prints whatever you defined the combination to be, otherwise it prints a ? (just an arbitrary choice, you can define it to do something else in case of no predefined combinations).
In the body of newaccents, I simply change \[ to be the same as \NAlbrack.
\[ais a command, I don't understand why you want to change the catcodes of\[etc.\def\[a{foo}works, but I don't recommend it (again). The\begingroup...\endgrouppair isn't necessary – Nov 01 '15 at 09:49%at the ends of exactly the wrong lines. You need a space after 11 and 12 to terminate the number so should not have%there, space is ignored after a command token so you don't need%after\begingroupbut conversely you do want%to hide the space tokens aftercharacter}andelse}– David Carlisle Nov 01 '15 at 10:05\parbox[t]{5cm}{abc}. – Ulrike Fischer Nov 01 '15 at 11:03