Multiple repos for externals, abs and pd core makes sense, but not for each externals or branch of externals, IMO. I think externals should be a repo on its own.
maybe one could do something in between ... e.g. the HEAD of externals will reside in trunk, while branches reside in branches/external/branchname ...
just an idea ...