Customizable Video List

Wondering if there is a way to create a custom video playlist.

Say I have a grid of 10 videos. I want the user to be able to select 1-10 videos (with the ability to remove or rearrange the list as well) from the grid in any order. Then when the user hits play, the videos play in the order that was selected with a crossfade transition between each clip.

Any help/direction is greatly appreciated!