Hi Phil,
as Stephan already mentioned, in v10 this was because everything was stored within the same file. This limitation seems to be gone since v11, as you have different files for each partition.
If we are using profiles, monitors or iRules across multiple partitions/route domains we typically create them once in the common partition with naming convention like "default_xxx". Objects of the common partition are inherit in every other partition and can be used there. The only thing you have to keep in mind (same as for parent objects), if you are changing these "default" objects this will have impact through all partitions where it is in use. But on the other hand you have to perform the changes only ones and don't have any risk of inconsistency. I think this depends on your personal use case, but it's maybe an option for the future.
But in case we have objects within a partition with the same names, we typically use a naming convention like xxx_. This way it's always unique and safe for any future update.
Ciao Stefan :)