A ver vamos con lo primero, de acuerdo a la electrónica digital debes comprender como trabaja un dispositivo tri-state, porque estos estan en todos los puertos del microcontrolador diseñados de tal manera que ellos controlan la configuración de estos pines para poner los puertos como entrada ó salida, si te fijas en el data sheet verás como esta diseñado y verás tambien mucha circuitería adicional, ahora con respecto a cuando dejas sin nivel la entrada de un pin y el micro vé un nivel alto, esto no es del todo cierto, en realidad ese punto esta flotante, y toda compuerta responde a la salida como si tuviera en su entrada un nivel alto, pero no debería de trabajar así, tienes que asegurarte de colocar un nivel, sea alto ó bajo, porque si no haces esto, vas a obtener lecturas falsas. Y con respecto al circuito que quieres armar, te dije que puedes conectarlo directamente, no hay problema, tienes que tener cuidado a la hora de programar, identifica el pin o los pines que controlan la bidireccionalidad del circuito que quieres controlar, en este caso tu disco duro, al que vas ha extraer e ingresar datos, asegurate de que en todo momento tengas la configuración de tus puertos encontrados uno como entrada y el otro como salida, tambien pueden estar los dos como entradas, pero en ningún caso los dos como salidas, porque puedes provocar un corto circuito cuando los niveles en dichos puertos sean diferentes dañando de esta manera a uno de los circuitos.