There's nothing to stop you creating an MXML component in a seperate file and instantiating that in actionscript without it being a child on the display list.
Somehow I don't think this is possible. I do think you can declare a Gridview, for instance without adding it to a canvas, by doing something like this for example:
But I don't know if the compiler would accept this, and I don't think the Gridview could ever be visible without being a child of the Canvas, but I'm not completely sure either.
I know it's possible if you do it directly in actionscript, not sure about in mxml though.
you could just set the default properties includeinlayout+visible on the component to false as that would have the same effect. Or just declare it in a seperate mxml file.