When this question was posted, scatter plot was a separate function in pandas. Since pandas 0.13, you can use kind='scatter' to plot a scatter plot from two columns.
df = pd.DataFrame({'colA': np.random.rand(10), 'colB': np.random.rand(10)})
df.plot(x='colA', y='colB', kind='scatter')

If you want to change the marker (e.g. x), then you can use marker= parameter:
df.plot(x='colA', y='colB', kind='scatter', marker='x')
How is this different from df.plot(style='o')?
Under the hood, df.plot defaults to a matplotlib line plot, (i.e. Axes.plot() or plt.plot), so passing style= is similar to plt.plot(x, y, 'o'). In particular, this creates an Axes.lines object which stores marker attributes.
On the other hand, df.plot(kind='scatter') (or df.plot.scatter) uses Axes.scatter of matplotlib; this creates an Axes.collections object to store marker attributes.
One significant difference is when you want to change marker size; with kind='scatter', you have to use s= like plt.scatter but with a line plot, you have to use ms= instead. The following two function calls produce the same output.
df.plot(x='colA', y='colB', kind='scatter', s=36) # case 1
df.plot(x='colA', y='colB', style='o', ms=6) # case 2
You can read this Q/A about why marker size values should be different in order for these methods to produce the same output.