Ideas I thought up are listed below, but feel free to try your own thing if inspiration strikes.
Write a FUSE filesystem that mirrors a directory tree like xmp.py but performs some basic transformation on the contents of the files involved, like replacing some letters with num63r5 or putting words into Pig Latin.
Expansion: Also transform file and directory names.
Expansion: Make your filesystem writable, and modify the original file after performing the reverse of the transformation.
CGI is commonly used in webservers (eg, scripts.mit.edu). Instead of returning a file stored on the server's disk, the server runs a program each time the file is requested and returns the resulting output to the browser. Write a FUSE filesystem that reflects a directory of programs, but when the files are opened, shows the program's output instead of the program's text. Each time the file is opened, a new output should result. /mit/sipb-iap/www/2009/fuse/cgi-examples/ contains some programs you could test your filesystem against.
Expansion: Since your programs' output could be different every time, make getattrs on files in your filesystem always indicate that the corresponding file was just modified.
Expansion: CGI is often used with parameters. Implement a way to pass command-line arguments with your filesystem and test it out.