Ese tipo de conexionado se usa siempre y cuando no uses dos cosas al mismo tiempo en el puerto.
Si te das cuenta en el mismo puerto B, por jemplo, tienen pulsadores y leds, aunque están conectados juntos obviamente la operación de unos interfiere con los otros. Si por ejemplo estas desarrollando una rutina con los leds y luego presiona algún pulsador, es lógico que eso te ocasionará una operación rara en los leds, por así decirlo.
Ahora bien lo que tú intentas hacer es aún más complicado, porque esos dos pines disponibles que tienes los queires usar como bus I2C, ese bus requiere de resistencias de pull-up, y obviamente essas resistencias afectarán el funcionamiento si es que ahora quieres usar los puertos con el ADC, ya que siemrpe tendrás un voltaje de 5V y no podrás usar el ADC. Es as algo simple y lógico de ver. En este caso para usar uno u otro periférico es necesario tener jumpers para deshabilitar los pull-ups y conectar unos potenciómetros, si digamos quieras usar los ADC.
De ahí nuestra sugerencia de que uses los periféricos mencionados, de esta manera, usando el bus I2C, puedes tener en el bus expansores de puertos, ADCs, DACs, RTCs, etc, conectados al bus.
Espero esto te sirva y te amplie el panorama.
elreypic.