can you read or write 8 bits at once?

Yes you can directly manipulate the I/O 'ports' to read or write all bits in a given I/O port in a single instruction. However depending on which arduino board type you have not all 8 bits for each port are avalible for use.

So here is the software methods

And here is a pin mapping diagram to associate arduino pin numbers to port/bit numbers for the 168/328 chips and the 1280/2560 chips:

https://spreadsheets.google.com/pub?key=rtHw_R6eVL140KS9_G8GPkA&gid=0

Lefty