Hi,
Here is an idea:
you would have to edit your show_custom_ads macro, replacing the code in that macro with something like this:
<n.switch. value="[n.page_node.id/]">
<n.case. value="21" >
<!-- Ad code for post 21 -->
</n.case>
<n.case. value="22" >
<!-- Ad code for post 22 -->
</n.case>
<n.default_case.>
<n.if.equal value1="[n.format/]" value2="small-square">
<then>
<!-- your small-square custom ad -->
</then>
<else>
<!-- your custom ad -->
</else>
</n.if.equal>
</n.default_case.>
</n.switch.>
In this case, the posts 21 and 22 have different ads. If you want to add posts, you should add more case blocks.
In the "default case" is your old custom ad code.