An app can't modify (or even read, if you discount the Visualizer API) the audio output from other apps.
Just a note about audio session 0: it's still possible to use it (as of JB / JB MR1), but that possibility might go away in future Android versions. There's one important detail to keep in mind though, which is that effects added on session 0 will be suspended if an app adds an effect on a session other than 0.
The audio HAL keeps track of the (estimated) CPU usage for all enabled audio effects and will deny new effects to be enabled if doing so would cause the CPU cycle budget to be exceeded. This means that if apps were allowed to freely stack up effects on session 0 without being suspended, they could mess up apps like Spotify by denying them the ability to choose which effects to enable on their own audio session because the CPU cycle budget has been exceeded.