Reading section 28 of the datasheet (Atmega328) shows that the Vin recognized as high varies from 0.6V to 0.9v depending on the input pin and VCC voltage being used.
I think you are misinterpreting this section. The relevant parameter is Vih, input high voltage (except XTAL1 and RESET). The range for Vih is 0.6*Vcc to Vcc+0.5. On an Arduino system Vcc=5V so the range is 3.0V to 5.5V. The sensor has to output at least 3.0V to *guarantee* that it is recognized as logic high (it might be anyways at 2.5V, but it won't be guaranteed).
The real question is whether the sensor output is "stiff" and can hold its own at 2.5V in the face of a weak pullup resistor or whether its output resistance is high enough that the internal pullup resistor is enough to bring it over the 3.0V threshold.
We'll know more once the OP tells us what sensor is in use
The Quick Shield
: breakout all 28 pins to quick-connect terminals