分割コンパイルは出来ますか?

分割コンパイルはできません。
複数のファイルがある場合には、分割コンパイルではなく、以下のようにmain()があるソースファイルで他のソースファイルをインクルードして下さい。

samp_main.cが
--------------------
#include <16F877A.h>(#device定義など)
#include > void main(){samp_func();}
--------------------

そして、samp_sub.cに
--------------------
void samp_func(){(コード)}
--------------------
のようにします。
main()の前にインクルードされているので、samp_main.c内でsamp_func()のプロトタイプ宣言は不要です。

インクルードについて:
CCS Cコンパイラは1つのコンパイル単位(ユニッ)のみが使われます。複数のファイルは#includeファイルで実装されます。
main()関数があるソースファイルに他のソースファイルを インクルードして下さい。

#include // ヘッダファイル
#include // ソースファイル

main()
{

}

複数のコンパイル単位の使用にはコンパイルを制御するプリプロセッサー・コマンドがすべてのユニットにわたって適合しているか注意を払う必要があります。すべてのユニットによりインクルードされているインクル ード・ファイルに中に、#fuses, #useのようなプリプロセッサコマンドとデバイス・ヘッダー・ファイルを含めることをお 勧めします。
詳しくは日本語マニュアルのマルチ・コンパイレーションをご覧下さい。