This should work fine, you just need to make sure your DCPs (Dynamic Component Presentations are wrapped with a SiteEdit tag which sets the isQueryBased property to true. Something like the following should work.
<div>
<!-- Start SiteEdit Component Presentation:
{"ID" : "CP0", "ComponentID" : "tcm:1-123", "ComponentTemplateID" : "tcm:1-234-32",
"ComponentVersion" : 3, "IsQueryBased" : true, "SwapLabel" : "main" } -->
Your CP code here
</div>
Then your Portal will need to output the SiteEdit page settings instruction, but will use a non existent Page URI (I use the null URI tcm:0-0-0) at the bottom of your HTML just before the closing </body>
tag. Something like this:
<!-- SiteEdit Settings: { "PageID" : "tcm:0-0-0", "PageVersion" : 23,
"TargetTypeID" : "tcm:0-1-65538", "ComponentPresentationLocation" : 1} -->
If you need more information, please specify your version of SDL Tridion (and which version of SiteEdit you are using), and describe what template techniques you are using to create your DCPs.
You might also want to read this article, depending how your portal is set up, this gives you a nice overview of what SiteEdit functionality will work out-of-the-box, and with customization.