How to carry quadrature encoder data using a single signal?
One solution is to convert the encoder's binary digital output to a quaternary (4-valued) digital signal. It uses only 4 resistors.

The only reasonable values for such a circuit that yield uniformly spaced output voltages require adding two unused values to the signal, so the encoding is really senary (6-valued), with two unused values (0/5 and 5/5), and the output voltages can be 1/5, 2/5, 3/5 and 4/5 of the supply voltage. For 5V supply, that yields simply 1V, 2V, 3V, 4V for various combinations of the two switches. For 3.3V, you get 0.66V, 1.32V, 1.98V and 2.64V. The "magical" resistor values are given on the schematic below.







simulate this circuit &ndash; Schematic created using CircuitLab

These values of course can be scaled, i.e. all of them can be multiplied by a constant. For slow encoders like user input controls, one could multiply them by 10x, and add a 0.01uF capacitor from the output (marked "TO ADC") to ground to filter the signal. The truth table is as follows, with toADC voltage given relative to 5V full-scale (VCC).

  A       B  | toADC | 8-bit approx
------+------+-------+--------------
 open   open    2V        102  
closed  open    1V         51
 open  closed   4V        205
closed closed   3V        154
------+------+-------+--------------


Neither 0V nor full-scale supply voltage would be present at the output.

Then one could use the MCU's ADC to capture such signal. The ADC can have very low resolution - a dozen reliable levels would suffice. This low resolution requirement sometimes lets you overclock the MCU's ADC, perhaps by a large factor like 10x. The ADC's resolution will drop, but we don't need all of it anyway.

If the requirement isn't to save MCU pins, but only to save lines from the encoder, and there's no desire to use ADC inputs, then most MCUs could recover the signal using 3 digital input pins (ideally configured as Schmitt triggers), by using thermometer decoding, i.e. shifting the signal so that as its value progressively raises it'd cross the logic input thresholds of 3 input pins - this could be done perhaps with only resistors, or resistors and Schottky diodes, assuming that the signals change slowly. 

Alternatively, if the MCU has comparators, then thermometer-to-binary decoding can be done using feedback: comparator B has the threshold set at 0.5VCC, and its output is scaled and added to the reference for comparator A, its threshold set at 0.3VCC + 0.4*B_comp_out.