You need headclip and/or tailclip in addition to nodename:portname:compasspoint
digraph top {
node[shape=none]
i [label=<<TABLE CELLSPACING="5" CELLPADDING="4" BORDER="0" CELLBORDER="1">
<TR>
<TD port="am">top of the morning</TD>
</TR>
<TR>
<TD port="cow">cattle crossing</TD>
</TR>
<TR>
<TD>d</TD>
</TR>
</TABLE>> ]
j [label=<<TABLE CELLSPACING="5" CELLPADDING="4" BORDER="0" CELLBORDER="1">
<TR>
<TD port="pm">afternoon</TD>
</TR>
<TR>
<TD>d</TD>
</TR>
</TABLE>> ]
p -> i:am:c [headclip=false]
j:pm:c -> i:cow:c [headclip=false tailclip=false]
}
Giving: