You want a signal range from 0V to 5V. Don't we all :-)? Let's go for a different approach and see where that gets us.
Starting point: cheapest and most simple solution.
That would be a series resistor to create a voltage divider. That's the absolute minimum. I've noticed that people don't give that resistor much thought, the just pick a nice round value like 10k\$\Omega\$. But I found that there's an optimal value for this.
The curve shows the voltage difference between the minimum and maximum reading (9k\$\Omega\$ and 20k\$\Omega\$ resp.) as a function of the series resistor (in k\$\Omega\$). See, it indeed has a maximum. That's easy to find if you remember that
\$ \left(\dfrac{f(x)}{g(x)}\right)' = \dfrac{f'(x)\cdot g(x) - f(x) \cdot g'(x)}{g^2(x)} \$
The difference \$V_{MAX}\$- \$V_{MIN}\$ has an extremum for
\$ \dfrac{d}{d R_X} \left(\dfrac{R_{MAX}}{R_{MAX} + R_X} - \dfrac{R_{MIN}}{R_{MIN} + R_X}\right) = 0 \$
Solving for \$R_X\$ gives
\$ R_X = \sqrt{R_{MIN} \cdot R_{MAX}} \$
A beauty!
So in our case the series resistor will be 13.42k\$\Omega\$, you can check this on the graph. Placing the resistors between 0V and +5V this will give us an output range of [2V, 3V]. That's the maximum range you can get with 1 resistor(*).
Is it enough? The Arduino has a 10-bit ADC, so this range will give you a range of 200 discrete levels. That should give a sufficient accuracy for a DIY sensor. So no other components like opamps needed.
(*) The accepted answer gives a 1.9V range, but it has the wrong equations. It's impossible to get a higher range than 1V with 1 resistor and only a +5V supply.
The signal should be amplified with a low noise 'instrumentation' amplifier to get it's full range signal up the match the range of the ADC, say 5V. Otherwise you are wasting ADC resolution. Someone else can answer the analogue, though I believe that has been answered on electronics.stackexchange already.
My reading of that sensor data sheet is the senor is very slooooooooooow compared to digital technology. It says it's response time for 'T90' < 5 seconds, and 'T99.5 < 40 seconds.
If you could explain exactly what those terms mean, I might be able to be more exact in my answer, but I'll give you the punchline anyway, because it appears to help.
There are purely software techniques for increasing the resolution of an ADC which work by taking multiple samples.
This is not simply taking multiple samples to do normal averaging to reduce error.
Instead, the technique extracts more information about the signal from many samples.
The technique is called "Oversampling and Decimation"
It can be made to work in a couple of ways, and this Atmel application note "AVR121: Enhancing ADC resolution by oversampling" explains how. It has a worked example, which looks very similar to your scenario.
A Mental model
It might be easier to think of the real sample having a tiny (less than 1-bit high) saw-tooth signal added. The saw-tooth must not be synchronised with sampling.
Draw a voltage vs time graph, volts up, time right.
Draw a steady, horizontal, real signal.
Then draw horizontal lines to represent the measured digital value. The signal will be somewhere between two lines.
Then draw a saw-tooth signal, 1 bit high, sitting on top of the horizontal real signal
When the steady signal is close to the next higher digital value, the saw-tooth crosses up above that value 1 higher.
When the steady signal is barely above its measured digital value, the saw-tooth hardly ever crosses up above that value 1 higher.
(I will try to find time to draw this, I can't find the picture by searching)
The maths:
When a real signal 'r' is measured it is rounded down to the nearest digital value by the ADC. Let's call that rounding down floor(), and let's say how many bits the ADC measures.
So, a signal r is measured by a 10-bit ADC as a number, call it 's', = floor(r, 10)
Let's call the amplitude of the saw-tooth at any instant t, we don't know what it is, except it is less than the voltage between any ADC value, and the next. For a 10-bit ADC measuring 0-5V, the maximum value of t is 5V/1023, or roughly 5mV.
Now let's think about a long stream of values from the ADC. Remember, it is measuring r with the saw-tooth voltage t added.
Then each time the ADC samples, the answer is the real signal r and the saw-tooth.
s = floor(r+t, 10)
The saw-tooth will sometimes push s 1 bit higher than r alone would be measured because the saw-tooth happens to be big enough when added.
If the signal r is almost at the digital value r+1, then a lot of the samples with t added in will be measured as s = r+1. If the real-signal r is barely above r, then almost all will be at s = r
This is key:
when r is very close to s+1 (but just under it), t pushes lots of ADC conversions high enough to measure as s+1
when r is far below s+1 (very close to s), t pushes very few ADC conversions high enough to measure as s+1, so most are still measured as s
So, if we add up a long sequence of ADC values, s, the ratio of s=r values to s=r+1 will give us more information. The ratio of s=r to s=r+1 tells us the value of r in that 1-bit, 5mV voltage range. The saw-tooth (not synchronised with sampling the signal) extracts that information.
The nice part is we don't need to count the ratio of s to s+1. We just add the sample values, and shift right (to get the correct number of bits). The number of +1's is added in, and that is the right ratio.
Now here is the sneaky part.
Random (Gaussian) noise acts in a very similar way to the saw-tooth signal. It gets added anyway, for free. We don't need to do anything except add a sequence of values. The only downside is noise takes more samples than a saw-tooth. In this case, I don't think it matters.
Summary: add enough samples then the low-res ADC acts like a higher resolution ADC.
How effective is this?
That document has a table, but let's pick a few, using a 10 bit ADC (e.g. an ATmega328P)
11 bits - 4X samples
12 bits - 16X samples
13 bits - 64X samples
14 bits - 256X samples
By adding 256 samples, a ATmega328P's 10bit ADC provides 14 bits of resolution.
An ordinary Arduino, samples at roughly 9.6kHz, and that sensor looks so slooooow, it shouldn't have changed much while sampling.
TI's application note "Oversampling Techniques using the TMS320C24x Family", AKA spra461.pdf has some useful diagrams and explanation of superimposing a triangle wave, which increases resolution with fewer over-samples that noise.
Side note: If you are confident with programming, consider getting an ST Micro Nuceleo. They are mbed's, so the software is instantly available from mbed's cloud. ST's Nucleo's cost about 8GBP. They have one or more 12bit ADC's built in. Most have 1M samples/second ADC's, and the STM32F302 and STM32F334 have 5M sample/second ADCs. The extra 2 bits mean they only need sample and add 16 values. So they could provide 14bit resolution at a higher sample rate than the raw ATmega328 could provide 10 bits. This isn't an advert for ST. Any MCU with a faster higher-resolution ADC will perform in a similar way.
Punchline
That sensor specification seems to be so slow, that by using this purely software technique, the 10bit ADC on the ATmega328P will provide 14bit resolution. In fact, it could provide 15bit resolution by adding more samples.
Best Answer
You may not be able to do what you want. When the sensor is just one leg of a resistor divider, then you get the maximum resolution when the sensor has the same resistance as the other resistor of the divider. Such a setup can deal with the 0 to infinite range of the test resistance, but measurement resolution drops off with the ratio between the two resistors.
To decide whether the setup is good enough, you have to first decide what the resistance range of the sensor will be during intended operation. Then you have to decide what resolution you want to measure the resistance with.
You want the fixed resistance of the divider to be such that it is the same ratio from either end of the range. For example, let's say you care about resistances from 1.2 kΩ to 340 kΩ. That's a ratio of 283. The midpoint in ratio-space is the square root of that from either end. That is 16.8. The midpoint is then (1.2 kΩ)16.8 = 20.2 kΩ. You should get the same thing by applying the midpoint ratio from the high end: (340 kΩ)/16.8 = 20.2 kΩ.
To find the worst case resolution, do the math. Compute the voltage into the A/D for either extreme. Then work backwards to see what resistance would yield one A/D count more to the middle.
Using the above example, you have a 20.2 kΩ pullup and the test resistor to ground. At 1.2 kΩ, the output voltage of the divider is 0.0561 of the reference. Let's say you are using a 12 bit A/D. The A/D output will be 230. You therefore have a resolution of 1 part in 230, or not quite 8 bits, at the ends of your range.
That's the resolution you can measure resistance at. Now work that back to see what pressure delta that represents at both the low and high ends of the range.
If this isn't acceptable, then you have to do something different. For example, you could use a higher resolution A/D, or a different topology altogether.