Creating and referencing markup....cloning, etc. efficient system for this plugin
From a once over:


data should be declared with var, so should a number of other variables. Please paste your code into the JSHint.com site and have a look
It is considered better form to have 1 comma separated var statement:

var feedVideosInPages = this.return_feedVideosInPages(options.thumbCount, options.thumbsPerPage, feed.videos),
    pagesMenu = this.return_PagesMenu(options, listNum, feedVideosInPages),
    thumbnails = this.return_thumbsMarkup(options, optList, listNum, feedVideosInPages);

return_feedVideosInPages is a terrible name, I assume you chose it because feedVideosInPages was already taken ;) I would for something shorter:

var feedVideos = this.getFeedVideosInPages(options.thumbCount, options.thumbsPerPage, feed.videos),


which is still horizontally challenged, since you call that function only once, and since thumbCount and thumbsPerPage are in the same convenient options object you could improve even further to:

var feedVideos = this.getFeedVideos(options, feed.videos),


Finally, if you think about it, since you get the videos from the feed, let getFeedVidoes decide/worry about which property of feed contains the videos:

var feedVideos = this.getFeedVideos(options, feed),

Bad (TMI):

if (toAdd.indexOf(name) !== -1) { clonedElems[name] = elem.cloneNode(true); }//the build will contain another copy, so clone it


Better ( Comment on top ):

//The build will contain another copy, so clone it
if (toAdd.indexOf(name) !== -1) { clonedElems[name] = elem.cloneNode(true); }


Even better ( never drop the newline, but you can drop the curlies! )

//The build will contain another copy, so clone it
if (toAdd.indexOf(name) !== -1)
  clonedElems[name] = elem.cloneNode(true);


The ~ operator ( Bitwise NOT ) is great for comparing to -1:

if (!~toAdd.indexOf(name))
  clonedElems[name] = elem.cloneNode(true);