The particle emission from foam regions is possible with MEL expressions. Basically one can emit a very high number of particles in a rectangular region of the ocean where you wish to see the foam, then in a particle creation expression evaluate the ocean using the particle xz position, killing particles where there is no foam and positioning the survivors to the correct ocean Y value. The ocean can be evaluated at xz positions using colorAtPoint( look at an expression generated by a simple ocean locator). You would likely find the Maya Fluids Techniques DVD useful. It has example scripts and scenes that do what you are asking, as well as several advanced ocean tutorials. Also you should find some posts in the archives for this forum that have particle expressions for spray on the ocean.
I think the shading problem you are having is cause by reflected rays hitting the ocean waves. The reflected rays are modulated by the ocean bump. The resolution of the displacement is not as high as the bump, thus some rays can go under the surface as well as hit neighbor triangles showing the mesh edges. This is a fundamental issue when raytracing with bump mapping. One could tessellate to the point where a bump is not needed, but this would generally require too much memory. I suggest you make the ocean surface not visible in reflections and make the lower half of the environment a dark blue to black ramp, to catch the rays that reflect downwards.
One other point... do not use any adaptive tessellation techniques with an ocean. This would lead to popping as triangulation changes. A uniform tessellation is best. The default circular plane used for the ocean feature is modelled to concentrate triangles in the center, but uses a regular non-adaptive tessellation for the displacement.
Duncan