Нет, это то, что большинство файловых систем не поддерживает. (Некоторые могут иметь специальные структуры данных, чтобы сделать их дешевыми, но большинство этого не делают - и стандартные API не поддерживают эту идею.)
Самый простой способ «удаления» части файла - скопировать только те биты, которые вы хотите, в новый файл. Если вы удаляете биты только в конце, вы можете избежать повторного копирования начала, но для этого потребуется более сложный код.
В случае потока объектов вам, вероятно, лучше всего просто прочитать объекты из одного потока и записать те, которые вам все еще нужны, в новый. (Очевидно, что впоследствии вы можете переименовать выходной файл.) Возможно, что, взглянув самостоятельно на формат сериализации, вы сможете избежать некоторой обработки, необходимой для повторной десериализации / сериализации, но я бы пошел по простому маршруту, чтобы начать с него.