Here is one possibility - I do something along similar principles at one site.
a) Give all your clients DHCP from pfSense, allocate static mappings for the clients so you know who is which IP.
b) Make an alias for the IP addresses that you want to use the DD-WRT router OpenVPN path - let's call it DDWRTclients
c) Add a gateway on LAN - address of DD-WRT router - let's call it DDWRTgateway
d) Add a firewall rule on LAN - Source = DDWRTclients, Port = any, Destination = any, Port = any, Gateway = DDWRTgateway
e) Turn on manual outbound NAT, add a mapping Source = DDWRTclients, Port = any, Destination = any, Port = any, NAT Address = LAN Address
f) Turn off DHCP server on DD-WRT
The DDWRTclients will send their packets to pfSense. pfSense will route them across to the DD-WRT router, and will NAT them on the way back across your LAN to the DD-WRT. As far as the DD-WRT knows, the packets have a source IP of the pfSense LAN address. When the replies come back, the DD-WRT will send the replies back to the pfSense, the pfSense will unNAT them and deliver them to the correct DDWRTclient. (The NAT bit ensures that pfSense sees the packets in both directions - and thus maintains its state table nicely for those flows)
Now you can port forward ports from pfSense WAN to whatever DDWRTclient systems you like. When external connects are established from pfSense WAN into a DDWRTclient, pfSense should know about those as established flows. It won't try to NAT the responses back through DD-WRT router - it should send them across pfSense WAN, where the connection originated.