Hi Eliot
So you are talking about the X scale.
You want the shape to animate on the X scale, from 0 to a value, but you want that final value to be adjustable in final cut.
There are various ways to do this. It all depends on the build of the title.
1) Group the layer and publish group scale X
The most direct way would be to put the banner shape into another group, then publish the X scale of that upper group.
Make sure the anchor points are placed correctly.
You can then animate the shape within the group on the X axis, and by adjusting the X scale of the parent group, that final length will be adjustable - this is the slider to publish for fcpx.
2: Animate with ramp behavior-
https://support.apple.com/en-nz/guide/motion/motn137432ba/mac
It is intuitive to use. Animate the shape layer by setting the start and end values, then publish that end value. In fcpx, adjusting the end value will provide the length adjustment you are describing. You can rig the end value and publish from the rig instead depending on how you want values to display in fcpx.
Using a ramp behavior is dependable for this, but the negative is that you only get a basic speed curve range using the 'curvature' function which is restrictive.
3: Animate via a link behavior and null object.
Set your animatable shape layer X value to zero.
Add another shape layer with an X value of 100. This will be your null layer - only used for it's parameters but not visible in the project.
Link the animatable shape layer X scale to the null layer X scale. You'll see the scale jump back to 100. Turn the link off, and the scale will go back to zero (the local value you set)
In the link behavior - find the 'mix' slider - it is set to 'custom' by default. It has a range of zero to 1. Move that slider from 1 to 0 and back again - you should see your animatable shape moving between 100 and zero scale and back.
That mix slider is the parameter you want to keyframe now to create the animation.
That null layer X scale value is the one you want to publish to fcpx - or rig and publish. In this case, publishing it directly should be enough.
These are some the dependable methods I know to provide an adjustable final value in FCPX. I'm sure others will have more advice for you too.