Wiring proximity sensors to parallel port inputs
It sounds like you are correct about the low side NPN and pullup resistor inside the sensor unit.  You can make the output any lower voltage you want with the addition of a single resistor:



The resistor inside the sensor (R1) and a resistor you add (R2) form a voltage divider.  The output high level will be V+ attenuated by the voltage divider:

\$ V_{OUT} = V_+ \times \dfrac{R2}{R1+R2} \$

In the example shown, the output will be 5V when high.  The impedance of the OUT line will be the parallel combination of R1 and R2, which is 5 k&Omega; in this example.

You could also replace R2 with a 5 V zener if V+ might vary.  However, my experience with sensors in general unless they explicitly say otherwise is that they can be surprisingly susceptible to power variations.  I would at least filter V+, preferably regulate it.