i think you can do this with Grass. vsplit or v.to.points works for you what you want...
v.split - Split lines to shorter segments.
v.to.points - Create points along input lines in new vector with 2 layers. i hope it helps you...
http://gis.stackexchange.com/questions/25542/splitting-lines-at-a-specified-distance
