How can I have a dynamic uri segment for a single?
Assuming that a Single is the right thing to use here (and I'm not sold on that but I trust your judment) the following is what I would do to accomplish what you want.

// config/routes.php
'offers/listing/(?P&lt;entryId&gt;\d)' =&gt; 'listing/make-offer'

// templates/listing/make-offer.twig
{% set entry = entry is defined ? entry : craft.entries.id(entryId) %}


Explanation

First, we create an Advanced Route to make the (single) entryId available to the template that will be loaded when the route matches.

Then, in the template, we set the entry variable to either the entry that Craft makes available to the template via its own routing or we fetch one explicitly by using the entryId passed to the template from the custom route. Our route may take precedence over default routing, so the entry is defined check may be removed and rely instead on craft.entries.id(entryId)

End Result

You should be able to navigate to /offers/listing/1234, which will load the templates/listing/make-offer.twig template with the entryId set to 1234.

Hope this helps, feel free to follow up if something isn't clear.