1. Key-Value is a very flexible what to design a schema. But it is terribly inefficient.
2. SHOW CREATE TABLE -- I need to see what indexes you have to see if they can be improved. Probably need compound INDEX(IsParticipant_id, Varname) and INDEX(IsProject_id, IsParticipant_id).
3. Normalization will only make things worse (by doubling the number of JOINs).
4. Subqueries might work faster:
SELECT
varX.IsParticipant_id,
varX.CSVData as 'servhotel' ,
var0.CSVData as 'servpers' ,
( SELECT CSVData FROM base_data
WHERE CSVData as 'servpers'
AND varX.IsParticipant_id = IsParticipant_id) AS var0,
( SELECT ... ) AS var1,
...
FROM base_participant
WHERE IsProject_id = 3
ORDER BY IsParticipant_id DESC