Hi JIAdan,
You first requirement can be achieved by building a approval feature for customer journey:
we can get included segment name from customer journey entity's msdyncrm_workflowdefinition field, then use this name to query corresponding segment,
it size of the segment exceed X, then add a approval action to prevent customer journey to go live before approval.
But you second requirement is hard to ahieve, because interaction data such as total number of email delivery is saved in Insights database, there is no direct option to access them.
In a word, approval feature is available but is restricted to some scenarios.
There're 2 ways to achieve approval feature:
1. There are some functions inside Dynamics Marketing solutions to support the feature:
https://docs.microsoft.com/en-us/dynamics365/marketing/developer/marketing-approvals-feature
From description, it seems that you need to add custom ribbon buttons with provided functions.
2. Connect to Power Automate and use its Start and wait for an approval action.
The article introduced a simple demo of approval feature for customer journey.
https://docs.microsoft.com/en-us/dynamics365/marketing/developer/build-approval-feature-using-flow
For the first requirement, I created another flow for query member size of segment which is involved in a customer journey.
You can change it to work in your scenario.
Overview of flow:

1. My demo customer journey:

2. The overall tiles structure will be formatted as JSON in msdyncrm_workflowdefinition field.

The start tile(segment) will always be the second node.

3. We need to parse value in the field to real JSON data to read properties in nodes.
We can copy the first node text into Schema field as example structure.

4. After parse job is done, we extract segment name with dynamic expression below, and save the value into a variable.
body('Parse_JSON')[1]['Properties']['Items'][1]['Name']
5. Query corresponding segment with variable:

6. Because we might not create duplicate segments, so we could just get the first item from retrieved result,
with dynamic expression:
body('List_records')?['value'][0]['msdyncrm_segmentsize']

7. Result in flow

The retrieved segment size in Dynamics Marketing:(Mao Segment(Dynamic))

You could integrate doc tutorial with my flow to build your requirement 1.
Regards,
Clofly