The usual translation in French is indeed “à sept heures pile”, at least in France. Kareen confirms that this is also common in Québec.
A traditional way to express this would be “à sept heures sonnantes”, meaning “as the (Church) bell is ringing the seventh hour”. In the early 20th century, other synonymous expressions appeared in writing: “à sept heures tapantes” (which is more common than sonnantes nowadays), “à sept heures pétantes” (colloquial, not normally used in writing).
In “à sept heures pile”, pile is used as an adverb. This relates to the meaning of pile as the tail side of a coin. In the early to mid-20th century, the word pile came to mean brusquely, sharply; as far as I can tell, this evokes a coin that lands sharply (and noisily) on a table and stops moving. For example “s'arrêter pile” means to stop abrubtly (and this gave rise to the verb piler with this meaning). Around the same time, and presumably arising from this meaning, pile started to be used with time, to mean an exact time : “être pile à l'heure” (to be exactly on time), “sept heures pile” (seven o'clock sharp).
The use of pile as an adverb is mostly colloquial, but after a time it is well received in writing.