U+FFFE needs to be a noncharacter in order to allow the Byte Order Mark to work.
U+FFFF is described in The Unicode Standard as \"useful for internal purposes as sentine
OK the question is "what are they for" and "Why are they in the middle of the Arabic Presentation Forms".
Therefore it was agreed that these codepoints, which were never going to be used otherwise, would be designated noncharacters so they could be used internally by applications/programmers.