Is therea mcu/cpu with an isolated stack (via hardware or compiler)?
While most processors have hardware designed to make implementing and using a typical C style stack easy, typically the stack is compiler defined using built in compiler code.

You could implement your own compiler that creates and uses a different style of stack.  In your case you'd be looking to implement two separate stacks, one with input, local, and return variables,and one with call/return locations. You could implement both stacks in a section of memory that can't be executed, nor referred to by pointers in the rest of the code so it can't be altered except by compiler defined function calls and returns. By locating the local variables apart from the call/return stack you'll prevent some types of buffer overflow attacks.

Section 10 of Basics of Compiler Design(Free, PDF, 1.6MB) explains function calls and the call stack. If you review that section you'll find that the design of the stack that includes both calls and local variables is very convenient for a number of reasons.  Splitting them up might increase security, but you're slowing the processor and program down by dealing with two stacks.

Except for small special purpose processors, such as the PIC microcontroller, there are no common architectures that implement the concept you're asking about.  However there are a large number of research processors with various methods of preventing buffer overflow attacks, some of which include concepts similar to yours.

However, even in those processors, it's the compiler's job to deal with the stack.  The processor architecture merely provides additional tools to make protecting the software from attack easier.

You could instead use a language and compiler that is designed in a way that buffer overflow attacks are not possible. Many high level languages today perform array bounds checking on each array access, preventing buffer overflow attacks. This is, largely, a solved problem for many languages and their compilers.