When using high-side N-channel MOSFETs, a MOSFET driver chip is generally used (e.g., an IR2130). These chips require a boost capacitor which allows the gates of the high-side MOSFETs to be driven with the required voltage. The downside of this is that the MOSFET driver has a restricted operating range (typically 10V-20V). The second down-side is that you can't drive the MOSFETS to 100% pulse-width; this is usually not a problem. Alternatively you could use P-channel high-side MOSFETs and N-channel for the low-side. With this configuration, you can PWM the low-side switches only and save some power. (You can do this with all N-channels as well, it's just trickier since you have to keep the boost capacitors charged). Go to Digikey and search for "mosfet driver", you'll want the 3-phase bridge drivers specified for external switches.
As for the MOSFETs themselves, I don't recommend you use them in parallel. This would increase your footprint as well as your gate charge. Instead, look for high-current mosfets on Digikey. My favorite packages for these are D-Pak, 8-PowerVDFN, and PowerPAK 1212-8.
Atmel has an app note for sensor-based and sensor-less motor control. Unfortunately AVRs don't have much processing power and your control algorithm will likely be restricted to fixed-point math because of this. Because of the processing power limitations, you may want to consider not using the Arduino environment and instead use straight C or assembly.
You may have some trouble isolating the I2C bus optically since it's a bi-directional bus. If you were to use a communication system with single direction lines, you may want to look at TI's line of isolator chips (e.g., the ISO7221).
I think everyone probably has these thoughts at some point.
There are books/sites which recommend a bunch of "useful components" to have available. The only trouble is these things go out of date very quickly. For example the 741 and PIC16F84 are still being recommended in places even though they have both long (long long) since been surpassed.
If you know what is needed spec wise for your project (as you should do) then you can pick the components based on the specs. For example if you need 10MHz analogue bandwidth and you are using a 5V supply then you can filter opamp results accordingly. What speed does your uC need to run at 10MIPS? 40MIPS? what peripherals does it need? USB? SPI? CAN? Filter accordingly.
Parametric searches are your friend here (all the decent sites like Mouser, Farnell, Digikey, etc have them)
This applies to just about everything, so there's no quick way around reading through datasheets and making an informed decision (unless you already used the part of course)
So I would say the answer is probably to jump in head first and start learning how to use the search tools properly (look at any help available) picking your way through the components, read the datasheets, learn about what the specs/graphs/etc mean.
I certainly remember being overwhelmed by all the different options and long winded datasheets, but after a while your brain gets pretty good at filtering out the info you need quickly. Still takes time though, and is not the most enjoyable task.
Of course, if you're sure of the specs and you can get someone else to do it for you that's always a good option ;-)
Keeping up to date with new chips is useful too, I sign up for all the new product notifications for various places.
Below are just examples where i could easily find about longevity promises (ofcourse with *) i also see this as an hint on vendors i would prefer. Why would one choose from the vendor who has no such programs unless there is a huge record of not making parts obsolete? isn't it?
Microchip (covers ATMEL also now) My answer will be incomplete without mentioning Microchip.