Couple of questions about buffers

Yeah. The 244 only goes one way. It has a tristate enable for each of it's 4 bit halves, but the innies go to the outies and that's it.

The 245 is bidirectional. You can send bits in either direction. It has a pin that enables it, and another pin that selects the direction.

On the data sheet I'm looking at, while the supply voltage is fine, the input is limited to VCC max (Vih must be less than Vcc). That could be a problem, because the 5V outputs (Voh) on an Arduino running at 5V can get higher than 3V.

A buffer does two things: it effectively provides current amplification. You put a small current in its input and it can drive a larger current on its output. It also provides re-leveling. The Vih min is less than Voh min and the Vil max is more than the Vol max. The former is much more useful than the latter. Sometimes it can isolate something "bad" happening on the output from what happens on the input. Suppose the circuit on the output is noisy, and that noise would be a problem on the input side. The buffer isolates the input from the output. You often use a buffer between a "quiet" internal bus and a "noisy" external bus.