The etoolbox package offers you some commands that could be useful, for example:
\AtBeginEnvironment{<environment>}{<code>}
\AtEndEnvironment{<environment>}{<code>}
Perhaps if you give us some mor information about your actual intent, we could provide more helpful information.
Now that new information has been provided in the question, I would suggest to use the algorithmicx package to define the new block; while the algorithmic package doesn’t allow you to easily modify predefined structures, or to create new ones, the algorithmicx package gives you full control over the definitions. Using algcompatible, you can have full compatibility with the syntax of the algorithmic package; a little example of the definition of the new block:
\documentclass{article}
\usepackage{algorithm}
\usepackage{algcompatible}
\algblockdefx{FORALLP}{ENDFAP}[1]%
{\textbf{for all }#1 \textbf{do in parallel}}%
{\textbf{end for}}
\begin{document}
\begin{algorithm}
\caption{A test algorithm}
\begin{algorithmic}[1]
\FORALL {$v \in V(G)$}
\STATE $l(v) \leftarrow \infty$
\ENDFOR
\FORALLP{$v \in V(G)$}
\STATE $l(v) \leftarrow \infty$
\ENDFAP
\end{algorithmic}
\end{algorithm}
\end{document}

To have the \RETURN command as defined by algorithmic, you need to add the following definition:
\algloopdefx{RETURN}[1][]{\textbf{return} #1}
algorithmicxadvertises), but apparently it's not so "full". – Gonzalo Medina Nov 08 '11 at 14:06\usepackage[noend]{algcompatible}for the standard\FORALL; if you need this for the new block, please feel free to open a new question. – Gonzalo Medina Jan 31 '15 at 00:54