a controller in both port would work without interference since if the console is pulsing port 1 and recieve something in port 2 the information is discarted untill it is port 2's turn.
Nice! I was mainly thinking that port 2 might start listening while the controller was talking to port 1 and get a partial signal intended for port 1 and become confused.
so that for example C-up gives a full analog response in the up direction. No clue how to accomplish that
This would require some special attention. Somewhat simplified explanation:
The controller chip sends the X/Y coordinates in part of a serial signal to the console as numbers from -127 to 128. A standard controller will only send numbers within a smaller range though, something like -80 to 80.
So you would need to convince the controller chip to send those minimum/maximum values.
The controller chip calculates those values by starting at (0, 0) when the controller is powered up and tracking +1 and -1 signals from the stick as it moves. The +1 and -1 signals are in the form of two square waves that trigger an interrupt in the controller chip.
If you wanted a button to set the analog stick value immediately to 128 (or 80?), you'd need to send 128 signals to the controller chip as fast as it can accept them. Then when the button is released, you'd have to send 128 signals in the opposite direction to reset the stick value to 0.
You'd probably need to install some additional bits inside the controller to accomplish this.