Okay, got it!
In this example, and assuming the information is provided in that structure (by row):
Name: jason
Age:
I've tested the following:
Flow Structure:

Part 1:

Linebreak is just a dummy variable so we can get the value to split the Descriptions by row. You will see after.
Compose: Get the linebreak value - take(first(skip(split(Variables('A'),' '),1)),1)
Compose task 1: Splitting the task 1 description by row - split(outputs('Get_task_details_1')?['body/description'],outputs('Compose'))
Compose task 2: Splitting the task 2 description by row - split(outputs('Get_task_details_2')?['body/description'],outputs('Compose'))
Outputs of compose task 1 for example (now we have an array):

Empty string: To append final description for update.
Part 2:

First condition is for the name (position 0 of the array) -
length(outputs('Compose_task_1')[0]) > length(outputs('Compose_task_2')[0])
I'm using lengths since it makes sense in this context.
If condition is satisfied, append to string outputs('Compose_task_1')[0]
If not, then append to string:
outputs('Compose_task_2')[0]
Condition 2 is the same but with position [1] , age.
Output:

This should work out 😀
If this post helps you with your problem, please consider marking it as Accepted solution. If you like my response, please give it a Thumbs Up 👍
Cheers,
Tiago