Is "Fork choice rule" a general term including all the algorithms used for choosing a branch among other branches in a fork (including longest chain rule in Bitcoin etc) ? Or is it a specific algorithm designed for Casper Ethereum ?
A fork choice rule is a general term.
For some history I've found, one of the early written descriptions of the term is from March 2017 https://medium.com/@VitalikButerin/minimal-slashing-conditions-20f0b500fc6c
A fork choice rule is a function, evaluated by the client, that takes as input the set of blocks and other messages that have been produced, and outputs to the client what the “canonical chain” is.
August 2015 may be the first time "fork-choice rule" was written in a blog post. https://blog.ethereum.org/2015/08/01/introducing-casper-friendly-ghost
The 2013 GHOST paper is one of the earliest, prominent publications of a fork choice rule different from Bitcoin's, but it did not specifically mention the term.