For this type of thing, a good choice is to use the connectClass
option. This will help classify the type of containers that items can be dropped into.
So, you could do:
<div id="main" data-bind="sortable: { data: tables, connectClass: 'tables' }">
<div class="table">
<div data-bind="text: students.id"></div>
<div class="seats" data-bind="sortable: { data: students, allowDrop: $root.isTableFull, connectClass: 'students' }">
<div class="student" data-bind="text: name"></div>
</div>
</div>
</div>
Note that the plugin, does assign that class to the appropriate elements for you.
Now, students will only sort with students and tables will only sort together.
Here is an updated fiddle with some of the unnecessary extras stripped out: http://jsfiddle.net/rniemeyer/7yA2s/