Is it possible to fully load a web page from the Ethernet Shield SD card?
Yes...
We are talking about a simple page of course, with some links to other pages and a few images.
The images should be links, too. Store them somewhere else, and link to them on your page, rather than serving the images.
will I still be able to use certain arduino functions with the html page I loaded from the sd card?
Well, the page is served up (sent) to a browser running on another computer, so the Arduino functions will not be available there.
If the page contains a form, and the form has a submit button, the action behind that button defines what happens. Typically, the submit action causes a modified GET request to be generated, and sent to the server that responded to the initial GET request.
The modified GET request has data from the form added as arguments. If the original request was "GET /mypage.html", and that page contained a form with a field named Name and a submit button, and you typed Rainier9 in that field, the modified GET request would be "GET /mypage.html?Name=Rainier9".
It is up to you to write the code to recognize the difference, and respond accordingly.
You can develop the page on the PC, and press the submit button. The title bar will change as you pick buttons, enter text, select check boxes, etc.
Define the form you want to see, and observe what the various requests look like as the form widgets are manipulated. This will tell you what the Arduino needs to deal with.
Parsing the GET request is not all that difficult. Reacting to what you parse is up to you.