Viewport coordinates go from [0,0] (bottom left) to [1,1] (upper right). Suppose you make the camera2 viewport take up 20% of the screen width and 20% of the screen height:
camera2.setViewPort(midX-0.1f, midX+0.1f, midY-0.1f, midY+0.1f);
That reduces the problem to positioning the center [midX, midY] of camera2's viewport. For that I suggest picking an offset from the die's viewport coordinates in the main camera.
Screen coordinates go from [0,0,z] (bottom left) to [screenWidth-1,screenHeight-1,z] (upper right), so you have to divide the screen [x,y] by the screen dimensions to get the viewport [x,y].
Camera mainCamera = getCamera();
float screenWidth = mainCamera.getWidth(); // in pixels
float screenHeight = mainCamera.getHeight(); // in pixels
Vector3f dieCenterScreenLocation = mainCamera.getScreenCoordinates(dieCenterWorldLocation);
float midX = dieCenterScreenLocation.x/screenWidth;
float midY = 0.2f + dieCenterScreenLocation.y/screenHeight;
You may want to make alternative arrangements in case the die is near the top of the screen (dieCenterScreenLocation.y > 0.7f*screenHeight) near the left edge (dieCenterScreenLocation.x < 0.1f*screenWidth) or near the right edge (dieCenterScreenLocation.x > 0.9f*screenWidth).
Does that help?