To determine which president was 2 inches shorter than Theodore Roosevelt, we first need to know Theodore Roosevelt's height. Roosevelt was approximately 5 feet 10 inches (70 inches) tall. Therefore, a president who was 2 inches shorter would be around 5 feet 8 inches (68 inches) tall.
Among the options listed, Ulysses S. Grant was approximately 5 feet 8 inches tall, making him 2 inches shorter than Theodore Roosevelt.
Thus, the answer is Ulysses S. Grant.