Да, так делают, и довольно часто. Конструкция
!!
для приведения к boolean вообще чуть ли не стандарт. В jQuery встречается, например.
Вторая чуток пореже, и как правило, сперва ставят пустые кавычки, а потом уже переменную. Так:
var num = 12345;
var x = ("" + x)[3];
console.log(typeof x, x); // string 4
Третья еще реже, обычно просто ставится плюс перед переменной:
var y = +x * 10;
console.log(typeof x, typeof y, y); // string number 40
Использовать такие трюки вас никто не заставляет, но помнить о такой возможности нужно, хотя-бы для того, чтобы понимать чужой код.
И да, это делают не для оптимизации, а потому что
Краткость - сестра