I would love to see a mockup (maybe a pencil drawing on a piece of paper) how you imagine this to look like.
How would the inputs and the outputs be paired up? What would be displayed on the left side if the output is quite long? How would it not result in an enormous waste of precious screen space? (Or would it?)
How would it look like when you have an interactive application (e.g. text editor) running?
What do you exactly consider "input" vs. "output"? For example, is the shell prompt "input" or "output" according to your idea? If you press Ctrl+R and the shell displays (reverse-i-search), where does it belong? These are strings output by your shell, so strictly speaking you said you'd want them in the right column. But if they're displayed there then editing the command line would work quite silly, so I'd rather expect you'd like to see it in the input pane...
The reason that there's no such terminal is probably partially some of the above (e.g. figuring out how to use the space efficiently), but mainly that the notion of input and output are quite different from how you imagine them to be.
In fact, everything that a terminal displays is the output of some other component (sometimes an application, sometimes the kernel). The keyboard input (which I presume you refer to by "input") is never(*) directly displayed by the terminal.
((((*) Strictly in parentheses, just for technical correctness: a few terminals implement a mode when the input is displayed immediately by the terminal, but it's hardly, if ever, in use in practice. It's a legacy we've left behind decades ago. Forget that I said anything here.)))
Depending on what application is running in the terminal emulator and what context that application is in (e.g. you're typing a command line), if you press a certain letter, let's say you press the letter x, the response may or may not be a letter x appearing. But it's never because the terminal decides to paint the pressed letter. It's because the terminal forwards that letter to the kernel, which may respond itself or may forward it to an application, which may respond, and that response may be (but is not necessarily) to print the letter x, which then causes the terminal to paint the letter x.
The differentiation that you imagine between the input and the output of the terminal is not what it has. The input is a keypress that it forwards but doesn't display. Everything that the terminal displays is the output of the kernel or an application (nitpicking: which is an input to the terminal, not from the user but from the application, but this is what we usually refer to as "output", i.e. looking at the story from the kernel's or application's point of view).
What I presume you'd like to have split into two panes are the command line (prompt and the command you're editing) versus the command's output. The terminal emulator could not automatically make such distinction, it has no idea whether the received data was sent by the shell (command line handler) or by an application; in fact, a terminal emulator has no idea what a shell is. All it sees is a single stream of instructions. The prompt, and then if you're typing "ls" then the letters "l" and "s", and then if you press Enter then the file listing all arrive in the same single stream, and the terminal treats them all equally because that's what it has to do, and because even if it wanted to it had no clue how to separate them into multiple kinds of data.
What you would like to have would require some kind of splitting. Either escape sequences in this stream that tell the terminal which side to print the data to, or two separate tty lines and then support from the shell to print the prompt and the command line into one tty line and connect the application's output to another – coupled up with a terminal application that displays two terminals next to each other and launches that special shell in a way that it's connected to both of these terminals.
I'm fairly confident that what you wish to have doesn't exist. Reasons include that it's not a commonly sought feature, that it would need cooperation between multiple crucial components (therefore it's unlikely that one person would quickly implement it and gain some popularity), that it would likely result in large unused screen area, and that the whole concept of terminal input and output (that I believe you fundamentally misunderstand) aren't built up in a way that could easily accomodate support for this feature.
My best recommendation is to get used to how existing terminals and shells work. Feel free to play around to find your preferred shell and customization thereof, make the prompt and the command line stand out or blend in the context as much as you wish to (e.g. using colors, bold or italic typeface, special Unicode characters, possibly multiline prompt etc.).