Is it useful to have miners work on the same block instead of parallel solo mining? While mining with multiple devices GPU, FPGA, etc. at home/work/school, does each device work on its own block or can you combine the resources of each mining device into 1? Say if each device can mine at 1GHash/s, 5 devices for an overall 5GHash/s between all devices. Can you set it up to where that 5GH/s is used on 1 block instead of 5 blocks? As it would reduce the block validation time?

If you can combine the resources of the solo mining operation, I assume setting up a private/solo btc pool is inorder. Would you use long polling in this instance or not?
It doesn't really matter all that much. A set of workers working for the same block or each working for an individual block yields you the same profit on average. The only downside is that in order to mine for blocks you either need to have bitcoind running, or join a pool. If you want to mine a few blocks at once, you will need to be running a couple bitcoind instances. The easier setup is to just have one bitcoind running and have all your miners connect to it.

Well, that's the ideal situation anyway. Realistically, you won't ever mine a block this way. You can check out my mining calculator and plug in your numbers. How long is your time to generate one block? Can you wait 5 times that? Probably not. You ought to join a mining pool to get smaller rewards more often. But do it fast, as soon ASIC miners will go in and make your profits really small.

When you'll be joining a pool, logically you'd have all your workers connected to the same pool. Connecting to multiple pools wouldn't change your profits, perhaps it would smooth out your earnings a bit, but the change would be insignificant if you are using big pools.