Puedes intentar hacerlo con resistencias colocando estas en serie con las líneas del adc, cuando el portb esta como entradas tiene alta impedancia, y leerá los valores correctamente a través de las resistencias, y cuando esté como salidas las resistencias evitaran la lucha de niveles entre portb y adc, esto siempre y cuando el otro dispositivo siempre este como entrada, es decir donde envías los datos del portb sea siempre entradas.