If I understand you right, rel=canonical may be your friend.
Specifically, I assume all those
ourdomain.com/asdfghjkl links point to a page that is (almost) identical to that standard product page at
ourdomain.com/product-name. If so, you should mark them as being the same by including a tag like:
<link rel="canonical" href="http://ourdomain.com/product-name" />
in the head section of the page. That way, search engines will treat links pointing to the shared links (almost) as if they had pointed directly to the main product page, and will only list that page in their result pages.
Another possibility would be to have the shared links do a HTTP 301 redirect to the product page after recording that the vistor came in through the shared link. (This is e.g. how the StackExchange software used on this site works: if you click the share buttons next to a question, or the word "link" below any post, you get a short link that contains your user ID. When someone follows that link, the software records it and then redirects them to the normal URL of the page.) For search engines, this has almost the same effect; the difference is that rel=canonical links are only parsed by search engines, while 301 redirects affect browsers too. Generally, I'd consider 301 redirects more user friendly for purposes like this, but both so have some advantages. For more information, see e.g. this page from Google's Webmaster Tools help.
ourdomain.com/sipsfesdf, I doubt there's any SEO difference, at least as long as you use either rel=canonical or 301 redirects. From a user experience viewpoint, the longer links are more informative, but also take up more space in a short message, which could make people more reluctant to share them. I'd suggest allowing both, and deciding which to generate based on the medium (e.g. short links for Twitter, longer for Facebook since it parses them out anyway). Or, for a generic "copy this link and share it" interface, you could present both and let the user choose.