I'm not sure you take the good way. In the pgfmanual, you can see that centers of the different parts are not given. I think the center of a part for example "one" is $(1.west)!.5!(1.one split)$. I write rapidly the next code and it's possible to write something more elegant.
Update version 2 : I found a way to create the coordinates of the centers for each part but I can't find how to create the circles with the style. (c1 3) désigne the center of the first part of the node (3). There are some modifications in the code like at end
\input tikz
\usetikzlibrary{arrows,shapes.multipart,calc}
\tikzset{
font=\tt,
>= stealth,
every picture/.style={thick},
box/.style={at end,
draw,
inner sep=2ex,
fill=black!10,
rounded corners,
rectangle,
rectangle split,
rectangle split parts=2,
rectangle split ignore empty parts=false,
rectangle split horizontal,
append after command={%
\pgfextra{%
\let\mainnode=\tikzlastnode}
coordinate (c1 \mainnode) at ($(\mainnode.west)!.5!(\mainnode.one split)$)
coordinate (c2 \mainnode) at ($(\mainnode.one split)!.5!(\mainnode.east)$)}}}
\tikzpicture
\node[box] (1) {};
\draw[->] (c1 1) -- +(0,-1) node[anchor=north,box] (2) {};
\draw[->] (c1 2) -- +(0,-1) node[anchor=north] {1};
\draw[->] (c2 2) -- +(0,-1) node[anchor=north] {2};
\draw[->] (c2 1) -- +(1,0) node[anchor=west,box] (3) {};
\draw[->] (c1 3) -- +(0,-1) node[anchor=north] {3};
\draw[->] (c2 3) -- +(0,-1) node[anchor=north] {4};
\foreach \i in {1,2,3}{\draw[fill=black] (c1 \i)circle(2pt) (c2 \i)circle(2pt);}
\endtikzpicture
\bye

Difference with Marc's solution
\node[box] (1) { };
\draw[] (1.one|-1.west) circle(2pt);
\draw[fill=black] ($(1.west)!.5!(1.one split)$)circle(2pt);
gives 
Update version 3. It's possible to draw the circle directly but in this case you can't draw the arrows at the same time. The code is interesting and perhaps someone can find a good idea for the arrows (only arrows when we use box)
\input tikz
\usetikzlibrary{arrows,shapes.multipart,calc}
\tikzset{
font=\tt,
>= stealth,
every picture/.style={thick},
box/.style={
draw,
inner sep=2ex,
fill=black!10,
rounded corners,
rectangle,
rectangle split,
rectangle split parts=2,
rectangle split ignore empty parts=false,
rectangle split horizontal,
append after command={%
\pgfextra{\let\mainnode=\tikzlastnode
\coordinate (c1 \mainnode) at ($(\mainnode.west)!.5!(\mainnode.one split)$);
\coordinate (c2 \mainnode) at ($(\mainnode.one split)!.5!(\mainnode.east)$);
\draw[fill=black] (c1 \mainnode)circle(2pt) (c2 \mainnode)circle(2pt);}
}}}
\tikzpicture
\node[box] (1) {};
\path (c1 1) -- +(0,-1) node[anchor=north,box] (2) {};
\draw[->] (c1 2) -- +(0,-1) node[anchor=north] {1};
\draw[->] (c2 2) -- +(0,-1) node[anchor=north] {2};
\path (c2 1) -- +(1,0) node[anchor=west,box] (3) {};
\draw[->] (c1 3) -- +(0,-1) node[anchor=north] {3};
\draw[->] (c2 3) -- +(0,-1) node[anchor=north] {4};
\draw[->] (c1 1) -- (2.north);
\draw[->] (c2 1) -- (3.west);
\endtikzpicture
\bye
We get the same result.
:-)If only one could somehow automate the center calculation… hmmm – morbusg Feb 12 '12 at 13:26box/.styleto do this. – Alain Matthes Feb 12 '12 at 14:47\begin{tikzpicture}[x={(.035\textwidth,0)},y={(0,.035\textwidth)}], but x and y are not known when the box style is defined, soinner sepcannot be determined directly. – StrawberryFieldsForever Jul 26 '12 at 00:52westand notbase west. To understand you can look at the pgfmanual sectionShape Library. I will update my answer. – Alain Matthes Jul 26 '12 at 11:40\mainnode.midinstead of$(\mainnode.west)!.5!(\mainnode.one split)$. Unfortunately,\mainnode.two midis not defined... – Paul Gaborit Jul 26 '12 at 12:34$(\mainnode.west)!0.5!(\mainnode.one split)$for the first one,$(\mainnode.west)!1.5!(\mainnode.one split)$for the second one,$(\mainnode.west)!2.5!(\mainnode.one split)$for the third one etc. In that way you just need to change one digit! :) – StrawberryFieldsForever Jul 26 '12 at 13:25