Implement an optimized algorithm to reverse a number and check if it is a palindrome.
Implement reverse_and_check(number), returning a tuple (reversed_number, is_palindrome). Use arithmetic operations rather than converting the number to a string. Negative numbers are not palindromes, and reversing a number must preserve its sign while removing leading zeros from the reversed result.
def reverse_and_check(number):