Unless you are programming only in assembler then the answer is "no".
You must gcc instead. This is because GCC calculates the length of
branches and uses different instructions depending upon how far away the
target of the branch is. So if you insert NOPs without gcc knowing
about it, it will generate code that does not assemble.
If you are restricting yourself to assembler then you should be able to
contain all the modifications you make just to the tc-arm.c file.
Should probably do both, or flag a warning in gas if there aren't enough
nops there.
The mips port uses this kind of stuff extensively to work around cpu
bugs. You can look at the mips port of gcc and gas for some other ideas
on how to do this.
-eric