I believe you want something like this:

This accomplishes your first request, the slicer, by using a Boolean Difference operator. The techniques is fairly simple.
Slicer
- Create the object you want to slice
- Create a cube large enough to contain the object with the same origin
- Move the cube to one side of the object along an axis.
- Set the cube's Viewport Display to wire to make it easy to see.
- Deselect the cube from rendering so that the result shows up in a render but not the cube.
- Add a Boolean modifier to the object. Set the type to Difference and the object to the cube. You will probably have to set the Solver to Fast to avoid bugs in the exact solver:

Note: You can angle the face of the cube that is the 'front' of the slicer if you want a slice that is at a diagonal to the movement of the slicer.
To accomplish the AB reveal effect you simply use two cubes, one slicing the object you want shown on the left, the other slicing the object you want shown on the right.
A trick for making the animation easy:
- Place both objects at the same origin.
- Create the first cube with the same origin.
- Give the cube an array modifier.
- Perhaps change the relative spacing to something slightly larger than 1 if you want a gap in the reveal.
- In edit mode, separate the two cubes
- Move the second cube's origin to its geometry.
- Create the two Boolean operators. Use the original cube on object, the second cube on the other.
- Parent the second cube to the first cube.
Now when you move the first cube the second cube follows it exactly.
Here's the blend file for my example, but if you want to render it, you do need to disable the cubes from the render and setup camera and lighting.
