Spanish railways seat reservations cannot be booked online and are only available on paper. They can be booked:
- via Spanish railways (RENFE) at a ticket office.
- via RENFE phone number, with limitations, see here (scroll down to Spain).
- via Deutsche Bahn, at the ticket office.
- via Deutsche Bahn, via phone (+49 30 2970). Delivery via a DB ticket machine or via post (€ 5.90).
To book via DB, you need to look up the train number yourself. The best way is to look at www.raileurope.com, since RENFE's own website is terrible.
Also take into account that RENFE shares very little information with the rest of the world, which is why the rail planner app is very incomplete for Spain and most other timetable planners too (and which is why you need to look up the train number for DB). Rail Europe somehow managed to get RENFE long-distance trains timetables.
The good thing is that seat reservations in RENFE domestic trains are not quota-controlled, so pass holder seats are available until the train is full. It is usually enough to buy a reservation a few days in advance.