As Werner mentioned, the wrapfig package can do this sort of thing; a little example (you can replace the black rectangle with an image or a \parbox containing text, for example):
\documentclass[twocolumn]{article}
\usepackage{wrapfig}
\newcommand\Text{Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas. Mauris ut leo.}
\begin{document}
\Text\Text\Text
\begin{wrapfigure}[8]{r}[\dimexpr.5\width+.5\columnsep\relax]{6cm}
\centering
\rule{5cm}{2.5cm}
\end{wrapfigure}%
\Text\Text\Text\Text\Text Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas. Lorem ipsum
\begin{wrapfigure}[8]{l}[\dimexpr.5\width+.5\columnsep\relax]{6cm}
\vfill
\end{wrapfigure}
\noindent dolor sit amet, consectetuer adipiscing elit. Ut purus elit,
vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida
mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna.
Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas.\Text
\end{document}

The exact instructions on how to produce this type of layout can be found in the file multiple-span.txt.
I don't know a package allowing to easily create circular cutouts (shapepar could be an option but I've never used it), but using the \parshape primitive is possible (with some effort) to manually produce a circular cutout and then use, for example, TikZ to place some material; a little example:
\documentclass[twocolumn]{article}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\lipsum[1]
\parshape16 0cm \linewidth
0cm \linewidth
0cm \linewidth
0cm \linewidth
0cm \dimexpr\linewidth-1.1cm\relax
0cm \dimexpr\linewidth-1.6cm\relax
0cm \dimexpr\linewidth-1.9cm\relax
0cm \dimexpr\linewidth-2.15cm\relax
0cm \dimexpr\linewidth-2.25cm\relax
0cm \dimexpr\linewidth-2.27cm\relax
0cm \dimexpr\linewidth-2.25cm\relax
0cm \dimexpr\linewidth-2.15cm\relax
0cm \dimexpr\linewidth-1.9cm\relax
0cm \dimexpr\linewidth-1.6cm\relax
0cm \dimexpr\linewidth-1.1cm\relax
0cm \linewidth
\lipsum[1-3]
\parshape16 0cm \linewidth
0cm \linewidth
0cm \linewidth
0cm \linewidth
1.1cm \dimexpr\linewidth-1.1cm\relax
1.6cm \dimexpr\linewidth-1.6cm\relax
1.9cm \dimexpr\linewidth-1.9cm\relax
2.15cm \dimexpr\linewidth-2.15cm\relax
2.25cm \dimexpr\linewidth-2.25cm\relax
2.27cm \dimexpr\linewidth-2.27cm\relax
2.25cm \dimexpr\linewidth-2.25cm\relax
2.15cm \dimexpr\linewidth-2.15cm\relax
1.9cm \dimexpr\linewidth-1.9cm\relax
1.6cm \dimexpr\linewidth-1.6cm\relax
1.1cm \dimexpr\linewidth-1.1cm\relax
0cm \linewidth
\lipsum[1]
\begin{tikzpicture}[remember picture, overlay]
\fill[blue!30] ($(current page.center)+(0,-2.1cm)$) circle [radius=63pt,fill=blue!30];
\end{tikzpicture}
\end{document}

wrapfigshould be able to do this with some "manual intervention". See How to usewrapfigto span multiple columns. – Werner Nov 11 '11 at 3:21