Hi Owen,
Workweek calendars are global entities that are set to individuals, meaning that they are not set on a project-by-project basis. So, the issue that you describe above cannot be solved by setting the workweek calendar for the person involved, as this would affect all of their work in all of their projects.
If you are using timesheets to track time, you are in luck in one respect. Even if a person's calendar does not state that they work on weekends, the timesheets functionality will allow the person to track time on the weekend.
Now, for the issue of planning your tasks out so that it appears that the task runs over the weekend with the correct amount of effort and so that the duration of the project itself lines up, I would probably consider using a fixed-duration task with the correct amount of planned effort. This task will span over the date range (over the weekend) if you start it on the Friday before. If you are worried that it will slide your schedule because you have a dependency to the task or tasks before the weekend work, you could consider using a -1 day (minus one day) lag to line the task up appropriately.
The set-up is fairly simple, but if you need a hand, we would be happy to help.
Best regards,