The 0000 bytes are most likely to word-align the following data - the LDR rd, [pc,#] instructions used to load large local variables can only index to 4-aligned offsets to maximize range.
The 0x00000020s and 0x21s I would imagine are artifacts of the specific compiler that TOSE used for FF6A. I'm not certain that's the case, but I've looked at code from their earlier FF ports and those don't have these 20/21s at the end of functions. Possibly they changed compilers somewhere along the road. Is there any pattern to which functions have these words tacked on?
As an aside, I've never heard about IDA Pro before; looking at their website it seems to have a pretty solid feature set. What's been your experience using it? Would you recommend it over, say, No$GBA?