As I’m sure you know, you can achieve roughly the same thing by duplicating the object, using boolean difference on the first copy and boolean intersect on the second. Using a linked duplicate (
Alt + D instead of
Shift + D) to sync edits across the slice and parenting to simplify object-mode transforming helps to streamline the process, but you’ll still need to synchronize modifiers the slow way.
A ‘difference + union’ operation that automatically generates vertex groups could give you a single-object equivalent, but I’m not sure how useful it’d be without atomic/constructive modeling modifiers.